http://qs1969.pair.com?node_id=490194


in reply to new : greping

Hi pingme8705,

Perhaps loading the data into a HoA might help getting hold of the fields a bit easier.

#!/usr/bin/perl use strict; use warnings; use Data::Dumper; my (%data, $device); while (my $line = <DATA>){ chomp $line; next if $line =~ /^\s*$/; if ($line =~ /logging to ([\w-]+)/){ $device = $1; next; } push @{$data{$device}}, $line; } print Dumper(\%data); __DATA__ logging to device1 is 2.3.5.1 . . . 56% /var 38% / 31% Interleaved device1 Tue Sep 9 11:26:44 ist 2005 logging to device2 is 2.3.5.1 . . . 96% /var 88% / 100% Interleaved device2 Tue Sep 5 10:26:44 GMT 2005 logging to device5-PPP is 2.3.5.1 . . . 156% /var 138% / 131% Interleaved device1 Tue Sep 9 11:26:44 ist 2005 logging to device8-PPm is 2.3.5.1 . . . 596% /var 688% / 100% Interleaved device2 Tue Sep 5 10:26:44 GMT 2005
output
---------- Capture Output ---------- > "C:\Perl\bin\perl.exe" ping.pl $VAR1 = { 'device8-PPm' => [ '596% /var', '688% /', '100% Interleaved', 'device2', 'Tue Sep 5 10:26:44 GMT 2005' ], 'device5-PPP' => [ '156% /var', '138% /', '131% Interleaved', 'device1', 'Tue Sep 9 11:26:44 ist 2005' ], 'device1' => [ '56% /var', '38% /', '31% Interleaved', 'device1', 'Tue Sep 9 11:26:44 ist 2005' ], 'device2' => [ '96% /var', '88% /', '100% Interleaved', 'device2', 'Tue Sep 5 10:26:44 GMT 2005' ] }; > Terminated with exit code 0.