The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Net::Connection::Sort - Sorts array of Net::Connection objects.

VERSION

Version 0.1.1

SYNOPSIS

use Net::Connection::Sort;
use Net::Connection;
use Data::Dumper;

 my @objects=(
              Net::Connection->new({
                                    'foreign_host' => '3.3.3.3',
                                    'local_host' => '4.4.4.4',
                                    'foreign_port' => '22',
                                    'local_port' => '11132',
                                    'sendq' => '1',
                                    'recvq' => '0',
                                    'state' => 'ESTABLISHED',
                                    'proto' => 'tcp4'
                                    }),
              Net::Connection->new({
                                    'foreign_host' => '1.1.1.1',
                                    'local_host' => '2.2.2.2',
                                    'foreign_port' => '22',
                                    'local_port' => '11132',
                                    'sendq' => '1',
                                    'recvq' => '0',
                                    'state' => 'ESTABLISHED',
                                    'proto' => 'tcp4'
                                    }),
              Net::Connection->new({
                                    'foreign_host' => '5.5.5.5',
                                    'local_host' => '6.6.6.6',
                                    'foreign_port' => '22',
                                    'local_port' => '11132',
                                    'sendq' => '1',
                                    'recvq' => '0',
                                    'state' => 'ESTABLISHED',
                                    'proto' => 'tcp4'
                                    }),
              Net::Connection->new({
                                    'foreign_host' => '3.3.3.3',
                                    'local_host' => '4.4.4.4',
                                    'foreign_port' => '22',
                                    'local_port' => '11132',
                                    'sendq' => '1',
                                    'recvq' => '0',
                                    'state' => 'ESTABLISHED',
                                    'proto' => 'tcp4'
                                    }),
             );

my $sort_args={
              type=>'host_f',
              invert=>0,
              };

my $mcs;
eval{
    $mcs=Net::Connection::Sort->new( $sort_args );
};

if ( ! defined( $mcs ) ){
    print "Failed to init the sorter... ".$@;
}

my @sorted=$mcs->sorter( \@objects );

print Dumper( \@sorted );

METHODS

new

This initiates the module.

One argument is taken and that is a hash ref with two possible keys, 'type' and 'invert'. If not passed or any of the keys are undef, then the defaults will be used.

'type' is the module to use. It is relative to 'Net::Connection::Sort', so 'host_f' becomes 'Net::Connection::Sort::host_f'.

my $sort_args={
              type=>'host_f',
              invert=>0,
              };

my $mcs;
eval{
    $ncs=Net::Connection::Sort->new( $sort_args );
};

if ( ! defined( $mcs ) ){
    print "Failed to init the sorter... ".$@;
}

sorter

This sorts the array of Net::Connection objects.

One object is taken and that is a array of objects.

my @sorted=$mcs->sorter( \@objects );

print Dumper( \@sorted );

AUTHOR

Zane C. Bowers-Hadley, <vvelox at vvelox.net>

BUGS

Please report any bugs or feature requests to bug-net-connection-sort at rt.cpan.org, or through the web interface at https://rt.cpan.org/NoAuth/ReportBug.html?Queue=Net-Connection-Sort. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc Net::Connection::Sort

You can also look for information at:

ACKNOWLEDGEMENTS

LICENSE AND COPYRIGHT

This software is Copyright (c) 2019 by Zane C. Bowers-Hadley.

This is free software, licensed under:

The Artistic License 2.0 (GPL Compatible)