&ellip;and if toolic's suggestion won't always work, i.e., the number of columns changes, you could try something like this:
#/usr/bin/perl
use strict;
use warnings;
while(<DATA>){
(my $junk, my $keep) = split(/\s1000\s/, $line, 2);
my @datum = split(/\s+/,$keep);
print shift(@datum),"\n";
}
__DATA__
*> 4.23.88.0/23 64.135.0.1 0 1000 234
+46164 i
*> 4.23.89.0/24 64.135.0.1 0 1000 2014
+8 46164 i
*> 4.23.92.0/23 64.135.0.1 0 1000 2013
+8 46164 i
*> 4.23.92.0/22 64.135.0.1 0 1000 3018
+ 46164 i
*> 4.23.94.0/23 64.135.0.1 0 1000 4041
+8 46164 i
*> 4.23.112.0/24 64.135.0.1 0 1000 1018
+ 174 21889 i
*> 4.23.113.0/24 64.135.0.1 0 1000 2018
+ 174 21889 i
*> 4.23.114.0/24 64.135.0.1 0 1000 18 1
+74 21889 i
*> 4.36.118.0/24 64.135.0.1 0 1000 7018
+ 174 21889 i
I know that the second split and the print can be wrapped into one statement. I'm at work, so I don't want to spend too much time on this.
Information about American English usage here and here. Floating point issues? Please read this before posting. — emc
|