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?
In reply to Re^2: processing file content as string vs array
by haukex
in thread processing file content as string vs array
by vinoth.ree
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |