use strict; use warnings; my ( $file, $loop, %seen ) = 'junk.txt'; open my $fh1, '<', $file or die "Unable to open $file: $!"; while ( my $fileName = <$fh1> ) { chomp $fileName; print "The packet traversed this path in $fileName:\n"; open my $fh2, '<', $fileName or die "Unable to open $fileName: $!"; while ( my $fileLine = <$fh2> ) { $fileLine =~ /(\d+\.\d+\.\d+\.\d+)/ or next; $loop++ if ++$seen{$1} > 1; print "$1\n"; } close $fh2; print "\n"; } close $fh1; print "** Routing Loop Detected **\n" if $loop;