Use of uninitialized value $i in bitwise and (&) at /usr/local/share/perl5/site_perl/5.26/Net/Netmask.pm line 411, <$fh> line 1. IP address: 192.168.1.1 is not inside 192.168.1.0/27 Use of uninitialized value $i in bitwise and (&) at /usr/local/share/perl5/site_perl/5.26/Net/Netmask.pm line 411, <$fh> line 2. IP address: 192.168.1.2 is not inside 192.168.1.0/27 Use of uninitialized value $i in bitwise and (&) at /usr/local/share/perl5/site_perl/5.26/Net/Netmask.pm line 411, <$fh> line 3. IP address: 192.168.1.3 is not inside 192.168.1.0/27 IP address: 192.168.1.4 is inside 192.168.1.0/27 #### #!/usr/bin/perl use strict; use warnings; use Net::Netmask; my $filename = 'testingIP.txt'; open(my $fh, '<:encoding(UTF-8)', $filename) or die "Could not open file '$filename' $!"; my $block = Net::Netmask->new("192.168.1.0/27"); while (my $row = <$fh>){ my @row = $row; for (my $i=0; $i < scalar(@row); $i++){ if ($block->match($row[$i])){ print "IP address: $row[$i] is inside $block\n"; } else{ print "IP address: $row is not inside $block\n"; } } }