Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re^8: Parse a file and store it in hash of hashes

by afoken (Chancellor)
on Jan 16, 2017 at 14:08 UTC ( [id://1179666]=note: print w/replies, xml ) Need Help??


in reply to Re^7: Parse a file and store it in hash of hashes
in thread Parse a file and store it in hash of hashes

$key       => { map { split m{\s*=\s*} } @record }

Try that with values containing "=". Like this:

[CELL_NAME1] COMMENT = "Perl parsing = oh no" FIRST = "TEST1" SECOND = "ID1" THIRD = 123 FOURTH = "THREE" FIFTH = 12345 SIXTH = 6789 SEVENTH = QWERTY [CELL_NAME2] COMMENT = "Tester" FIRST = "TEST2" SECOND = "ID2" THIRD = 1234 FOURTH = "FOUR = bad" FIFTH = 12345 SIXTH = BOARD SEVENTH = MOUSE [CELL_NAME3] COMMENT = "Parser" FIRST = "TEST3" SECOND = "ID3 = and how = did this = happen?" THIRD = 12345 FOURTH = "FIVE" FIFTH = 12345 SIXTH = PAD SEVENTH = KEY EOF

Did you expect that?

>perl 1179657.pl Odd number of elements in anonymous hash at 1179657.pl line 45, <$inFH +> chunk 3. Odd number of elements in anonymous hash at 1179657.pl line 45, <$inFH +> chunk 3. Odd number of elements in anonymous hash at 1179657.pl line 45, <$inFH +> chunk 3. %HoH = ( 'CELL_NAME1' => { '"ID1"' => 'THIRD', '"TEST1"' => 'SECOND', '"THREE"' => 'FIFTH', '123' => 'FOURTH', '12345' => 'SIXTH', '6789' => 'SEVENTH', 'COMMENT' => '"Perl parsing', 'QWERTY' => undef, 'oh no"' => 'FIRST' }, 'CELL_NAME2' => { '12345' => 'SIXTH', 'BOARD' => 'SEVENTH', 'COMMENT' => '"Tester"', 'FIRST' => '"TEST2"', 'FOURTH' => '"FOUR', 'MOUSE' => undef, 'SECOND' => '"ID2"', 'THIRD' => '1234', 'bad"' => 'FIFTH' }, 'CELL_NAME3' => { '"FIVE"' => 'FIFTH', '12345' => 'SIXTH', 'COMMENT' => '"Parser"', 'FIRST' => '"TEST3"', 'KEY' => undef, 'PAD' => 'SEVENTH', 'SECOND' => '"ID3', 'and how' => 'did this', 'happen?"' => 'THIRD' } ); >

Hint: split accepts THREE arguments.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (5)
As of 2025-07-09 13:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.