Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

Re: Re: Re: Matching over multiple lines in a scalar

by BrowserUk (Pope)
on Oct 27, 2002 at 23:48 UTC ( #208409=note: print w/replies, xml ) Need Help??

in reply to Re: Re: Matching over multiple lines in a scalar
in thread Matching over multiple lines in a scalar

Take it one step further still and do away with the temporary scalar. This works.

my %lines = do{local$/; <DATA> = ~m/(?:^|\n)(\d+)\:(.+?)(?=(?:\n\d)|$) +/gs };

Now I'll wait for sauoq to reduce the regex to 3 chars and a twiddle and we've got a golf solution.:^)

Nah! Your thinking of Simon Templar, originally played by Roger Moore and later by Ian Ogilvy

Replies are listed 'Best First'.
4Re: Matching over multiple lines in a scalar
by thpfft (Chaplain) on Oct 28, 2002 at 00:03 UTC

    after a tactful /msg from chromatic, i can confirm that this works too, provided the data are very tidy indeed.

    (i wish someone would redefine data as the mass noun it surely is, then I could stop pedantically pluralising around it.)

    my (undef, %lines) = split(/(\d+): /, join('', <DATA>));

    ugly, fragile and unwise, but you know, short.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (2)
As of 2021-05-08 05:35 GMT
Find Nodes?
    Voting Booth?
    Perl 7 will be out ...

    Results (96 votes). Check out past polls.