#!/usr/bin/env perl use strict; use warnings; use NetAddr::IP; use feature 'say'; my $final; my $input = '127.0.0.3'; my @ip = split /\./, $input; if ($ip[3] % 2) { $final = join '.', @ip; $final = NetAddr::IP->new($final.'/8') + 1; } else { $final = join '.', @ip; $final = NetAddr::IP->new($final.'/8') - 1; } $final = substr $final, 0, -2; say $final; __END__ $ perl test.pl 127.0.0.4