I think the following little script should be enough to show you how to proceed:
#! perl use strict; use warnings; use diagnostics; use Data::Dumper; my $destination = '92.123.72.112'; my $final_ip = '92.123.72.0'; # Get the first 3 octets of each IP my $destn_prefix = $destination =~ s/ \. \d{1,3} $ //rx; my $final_prefix = $final_ip =~ s/ \. \d{1,3} $ //rx; # Populate the hash my %hash; if ($destn_prefix eq $final_prefix) { $hash{$destn_prefix} = [ $destination, $final_ip ]; } print Dumper(\%hash), "\n"; # Access a given location my $ip = '92.123.72'; if (exists $hash{$ip}) { my @ips = @{ $hash{$ip} }; print 'IPs at location ', $ip, ' are: ', join(', ', @ips), "\n"; }
Output:
$VAR1 = { '92.123.72' => [ '92.123.72.112', '92.123.72.0' ] }; IPs at location 92.123.72 are: 92.123.72.112, 92.123.72.0
Some useful references:
Hope that helps,
Athanasius <°(((>< contra mundum
In reply to Re^5: Printing first and last line
by Athanasius
in thread Printing first and last line
by maheshkumar
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |