#!/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_