Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: regex multiple lines

by JavaFan (Canon)
on Jan 30, 2012 at 18:49 UTC ( #950823=note: print w/replies, xml ) Need Help??


in reply to regex multiple lines

Untested:
$str = " ... "; # The data you posted my @data; foreach my $line (split /\n\s*/, $str) { if (/^MAC Address:\s*(\S+)/) { push @data, {mac_address => $1} } elsif (/^IP addr:\s*(\S+)/) { $data[-1]{ip_address} = $1; } elsif (/^Link Speed:\s*(\S+)/) { $data[-1]{link_speed} = $1; } elsif (/^Link Cost:\s*(\S+)/) { $data[-1]{link_cost} = $1; } } printf "Node with MAC Address: %s has IP = %s and Link Speed = %s and +Link Cost = %s\n", $_->{mac_address}, $_->{ip_address}, $_->{link_speed}, $_->{li +nk_cost} for @data;

Replies are listed 'Best First'.
Re^2: regex multiple lines
by dlal66 (Acolyte) on Jan 30, 2012 at 19:47 UTC
    Thank you. your "untested" solution worked perfectly :)

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://950823]
help
Chatterbox?
[marioroy]: LA my @music_times = qx(find \$HOME/Music/ Albums -type f -iname \'*.mp3\' -exec mp3info -p \"%S\\n\" {} \\;);
[marioroy]: Only 2 backslash \\n
[marioroy]: LA no space before Albums
[Lady_Aleena]: Good guh! I think I will use File::Find when working in perl. That is too many toothpicks.
[marioroy]: mp3info must be in the PATH
[marioroy]: LA ++
[Lady_Aleena]: marioroy, this is forcing me to learn perl modules to use instead.
[marioroy]: qx isn't fun if having to backslash ' and " and \.

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (6)
As of 2017-04-23 21:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    I'm a fool:











    Results (432 votes). Check out past polls.