johngg@shiraz:~/perl/Monks > perl -Mstrict -Mwarnings -MSocket -E ' do { print qq{Old IP: $_ ... }; my $isOdd = substr( $_, -1 ) % 2; my $IPn = unpack q{N}, inet_aton( $_ ); $IPn += ( $isOdd ? 1 : -1 ); my $newIP = inet_ntoa( pack( q{N}, $IPn ) ); say qq{New IP: $newIP}; } for qw{ 10.1.1.5 10.1.1.6 };' Old IP: 10.1.1.5 ... New IP: 10.1.1.6 Old IP: 10.1.1.6 ... New IP: 10.1.1.5