use strict; use warnings; #!/usr/bin/perl -w use Regexp::Common qw/net/; open my $in, '<', 'Sample_01.txt' or die $!; open FILE, '>', 'filename.txt' or die $!; my %ipToRoute; my $source_IP; while (my $line = <$in>) { if (my ($ip) = $line =~ m/^Traceroute: .* (\S+)/) { $source_IP = $ip; } else { $line =~ s/^ +//; my $destination_IP = (split / +/, $line)[1]; push @{$ipToRoute{$source_IP}}, $destination_IP if $destination_IP ne '*'; } } foreach my $source_IP (keys %ipToRoute) { my $final_destination = @{$ipToRoute{$source_IP}}[-1]; if ($source_IP ne $final_destination) { print FILE "Destination to $source_IP but reached $final_destination\n"; } }