My solution is a bit more long winded:

#!/usr/bin/perl -w use strict; use Data::Dumper; my $oldIFS=$/; $/=undef; my $stuff = <DATA>; my ($j1,@sects)=split('-----',$stuff); my $sections={}; foreach my $sect(@sects){ my @parts=split(/[\n]+/,$sect); my $sect=""; my $other_hash={}; foreach my $part(@parts){ next unless $part =~ m@=@; # ignore trash lines my($key,$value)=split("=",$part); if ( $key eq 'SECTION' ) { $sect=$value; } else { $other_hash->{$key}=$value; } } $sections->{$sect}=$other_hash; } print Dumper($sections); __END__ ----- SECTION=cr NX_NTF_ID=400017 NX_NTF_PRODUCER_ID=cr NX_NTF_PERSISTENT_ID=cr:400017 NX_NTF_NEW_DELAY_LOG= ----- SECTION=cnt NX_NTF_ID=F9F342055699954C93DE36923835A182 UUID String NX_NTF_PRODUCER_ID=cnt NX_NTF_PERSISTENT_ID=cnt:F9F342055699954C93DE36923835A182 NX_NTF_LAST_MOD_DT=02/04/2013 13:52:27
and produces:
$ ./ftricks.pl $VAR1 = { 'cr' => { 'NX_NTF_NEW_DELAY_LOG' => '', 'NX_NTF_PERSISTENT_ID' => 'cr:400017', 'NX_NTF_ID' => '400017', 'NX_NTF_PRODUCER_ID' => 'cr' }, 'cnt' => { 'NX_NTF_PERSISTENT_ID' => 'cnt:F9F342055699954C93 +DE36923835A182', 'NX_NTF_ID' => 'F9F342055699954C93DE36923835A182 +UUID String', 'NX_NTF_LAST_MOD_DT' => '02/04/2013 13:52:27', 'NX_NTF_PRODUCER_ID' => 'cnt' } };


Peter L. Berghold -- Unix Professional
Peter -at- Berghold -dot- Net; AOL IM redcowdawg Yahoo IM: blue_cowdawg

In reply to Re: Reading and storing multiple lines from a file by blue_cowdawg
in thread Reading and storing multiple lines from a file by shewang

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.