Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re: Re: Parsing Challenge

by no_slogan (Deacon)
on May 24, 2001 at 22:37 UTC ( [id://83056]=note: print w/replies, xml ) Need Help??


in reply to Re: Parsing Challenge
in thread Parsing Challenge

Some of the keys have multiple values, though. You could remember the last key...
foreach (split " ", $data) { if (/^([^=]*)=(.*)/) { $hash{$last=$1}=$2 } elsif (defined $lastkey) { $hash{$last} .= " $_" } }
Since "key=" is easy to recognize, another way would be to use split:
%hash = ("JUNK", split /([^=\s]*)=/, $data)
if you don't mind the JUNK, that is.

Replies are listed 'Best First'.
Re: Re: Re: Parsing Challenge
by blue_cowdawg (Monsignor) on May 24, 2001 at 22:39 UTC

    What if the literal "key" is not always present? What if the pairs become:

    my $data="fruit=apple meat=steak ....";


    Peter L. BergholdSchooner Technology Consulting, Inc.
    Peter@Berghold.Netwww.berghold.net

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others scrutinizing the Monastery: (7)
As of 2024-04-25 11:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found