use Modern::Perl; use File::Slurp qw/read_file/; use Regexp::Common qw/net/; sub R_loop2 { my ( $file, $loop, %seen ) = 'junk.txt'; for my $fileName ( read_file $file ) { chomp $fileName; say 'The packet traversed this path:'; for my $fileLine ( read_file $fileName ) { $fileLine =~ /($RE{net}{IPv4})/ or next; $loop++ if ++$seen{$1} > 1; say $1; } } if ($loop) { say 'Routing Loop Detected'; return 1; } }