Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re^2: processing file content as string vs array

by haukex (Bishop)
on May 13, 2019 at 13:41 UTC ( #1233694=note: print w/replies, xml ) Need Help??


in reply to Re: processing file content as string vs array
in thread processing file content as string vs array

One thing you can add to his code if you only have one occurence of @user_info in the whole file is an exit from the loop as soon as you have found your data

That's a very good point! Here's two more variants, the first if the start and end tag should be captured, the second if they shouldn't (replaces the if/elsif):

if ( my $flag = /\@user_info_start/ ... /\@user_info_end/ ) { push @userinfo, $_; last LINE if $flag=~/E0/; } # - or - if ( my $flag = /\@user_info_start/ ... /\@user_info_end/ ) { last LINE if $flag=~/E0/; push @userinfo, $_ unless $flag==1; }

See also Behavior of Flip-Flop Operators and Flipin good, or a total flop?

Replies are listed 'Best First'.
Re^3: processing file content as string vs array
by Eily (Monsignor) on May 13, 2019 at 13:54 UTC

    ++ in the spirit of TIMTOWTDI, but I personally don't like that version because /E0/ is too much of a magic value for me.

      /E0/ is too much of a magic value for me

      I see what you mean*, but I don't mind it as much - it's explicitly documented in perlop, which I interpret as a guarantee of this API:

      The final sequence number in a range has the string "E0" appended to it, which doesn't affect its numeric value, but gives you something to search for if you want to exclude the endpoint. You can exclude the beginning point by waiting for the sequence number to be greater than 1.

      * Update: It would probably make sense to document the /E0/ with a code comment to demystify this magic!

Re^3: processing file content as string vs array
by vinoth.ree (Monsignor) on May 14, 2019 at 12:22 UTC
    Thank you haukex it works awesome!!!


    All is well. I learn by answering your questions...

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (1)
As of 2020-10-25 22:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My favourite web site is:












    Results (249 votes). Check out past polls.

    Notices?