Thanks everyone for the help. For some reason, none of the solutions below wanted to work within my script. I ended up having the script write the last octet to a file and then modifying it from there, which worked. Makes no sense as to why I would have to go thru that, but it is what it is. Below is what I ended up with that works.
print "Enter the Tunnel Interface IP ";
$tunip = <>;
chomp ($tunip);
$test2 = check_valid_ip2($tunip);
print "\n";
my $period=".";
my @ip_fields = split(/\./, $tunip);
open (LASTOCTET, ">lastoctet");
print LASTOCTET "$ip_fields[3]\n";
close (LASTOCTET);
open (MYINPUTFILE, "lastoctet");
while (<MYINPUTFILE>) {
my($line) = $_;
chomp($line);
$ipcheck = $line;
}
close (MYINPUTFILE);
if ($ipcheck % 2) {
$test_ip=$ipcheck+1;
} else {
$test_ip=$ipcheck-1;
}
$bgpip = $ip_fields[0].$period.$ip_fields[1].$period.$ip_fields[2].$pe
+riod.$test_ip;