Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: Regular expression

by Kenosis (Priest)
on Oct 30, 2012 at 06:26 UTC ( #1001462=note: print w/ replies, xml ) Need Help??


in reply to Regular expression

This is more than what you asked about, but there are two regexs in the following:

chop (%key_hash = map { split /\s*[|]\s*/,$_,2 } grep (!/^$/,<KEY_FH>) +); ^ ^ ^ ^ ^ ^ ^ ^ | | | | | | | | | | | | | | | + - F +ile handle | | | | | | + - Let only + non-empty file lines pass | | | | | + - Split string into two + parts | | | | + - Default scalar containi +ng a file line | | | + - Zero or more whitespaces | | + - Vertical bar as only member in +character set | + - Zero or more whitespaces + - Should be 'chomp' to remove the trailing newlines

It appears that this code splits a "|" delimited file line into two parts: the first field is the key and the remaining fields are the value. We can give it a try like this:

use strict; use warnings; use Data::Dumper; chomp (my %key_hash = map { split /\s*[|]\s*/,$_,2 } grep (!/^$/,<DATA +>)); print Dumper \%key_hash; __DATA__ AAA|B|C|D|E BBB|G|H|I|J CCC|1|2|3|4 DDD|6|7|8|9

The output shows the hash's key/value pairs:

$VAR1 = { 'CCC' => '1|2|3|4', 'BBB' => 'G|H|I|J', 'DDD' => '6|7|8|9', 'AAA' => 'B|C|D|E' };

Hope this helps!


Comment on Re: Regular expression
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (20)
As of 2015-07-06 14:44 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 (75 votes), past polls