Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re^2: Parsing output from a command

by Nkuvu (Priest)
on Mar 24, 2009 at 16:18 UTC ( #752912=note: print w/ replies, xml ) Need Help??


in reply to Re: Parsing output from a command
in thread Parsing output from a command

Another approach would be to join the lines of the result and match against that. For example:

#!/usr/bin/perl use strict; use warnings; # Slurp! my @results = <DATA>; my $results_string = join '', @results; # Note: Direct assignment to hash works due # to exactly two matches. Error checking would # not be a bad idea, either (what happens if the # match fails?) my %matches = $results_string =~ /(hdisk\d+).+?Serial Number\.+(\w+)/g +s; for my $device (keys %matches) { print "$device $matches{$device}\n"; } __DATA__ hdisk0 P1/Z1-Aa 16 Bit LVD SCSI Disk Drive (18200 MB) Manufacturer................IBM Machine Type and Model......ST318305LC FRU Number..................09P4437 Serial Number...............0009E05B Part Number.................09P4436 hdisk1 P1/Z1-Ab 16 Bit LVD SCSI Disk Drive (18200 MB) Manufacturer................IBM Machine Type and Model......ST318305LC FRU Number..................09P4437 Serial Number...............0004A0D2 Part Number.................09P4436

Output:

hdisk1 0004A0D2 hdisk0 0009E05B


Comment on Re^2: Parsing output from a command
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://752912]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (7)
As of 2015-07-31 06:33 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (274 votes), past polls