#!/perl/bin/perl.exe -w
use strict;
use vars qw($cur_pos $buf);
my $file = $ARGV[0];
open my $fh, "+<$file" or die "$!";
my $size = 4096;
seek $fh, -$size, 2;
while (1) {
$cur_pos = tell $fh;
read $fh, $buf, $size;
last if $buf =~ m/\S/s;
seek $fh, -$size*2, 1;
}
$buf =~ m/(\s*)$/s;
$cur_pos += $-[0] || 0;
truncate $fh, ++$cur_pos if $cur_pos;
close $fh;
####
0x130002a; 12.23.34.45; 0x2c60021; RstoneSwRtr
0x130009d; 12.23.34.45; 0x3c6000e; LucentP550R
0x13000fa; 1.2.3.4; 0x21000c; Rtr_Cisco
0x130012e; 1.2.3.4; 0x21000c; Rtr_Cisco
0x1300183; 1.2.3.4; 0x21b001d; 6H262_18
0x13001a8; 1.2.3.4; 0x2c60021; RstoneSwRtr
0x13001f9; 1.2.3.4; 0x21000c; Rtr_Cisco
####
0x130002a; 12.23.34.45; 0x2c60021; RstoneSwRtr
0x130009d; 12.23.34.45; 0x3c6000e; LucentP550R
0x13000fa; 1.2.3.4; 0x21000c; Rtr_Cisco
0x130012e; 1.2.3.4; 0x21000c; Rtr_Cisco
0x1300183; 1.2.3.4; 0x21b001d; 6H262_18
0x13001a8; 1.2.3.4; 0x2c60021; RstoneSwRtr
0x13001f9; 1.2.3.4; 0x21000c; Rtr_