Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re^5: Loop Array - If $var is something write values until $var is something else

by AnomalousMonk (Archbishop)
on Sep 29, 2018 at 22:36 UTC ( [id://1223298]=note: print w/replies, xml ) Need Help??


in reply to Re^4: Loop Array - If $var is something write values until $var is something else
in thread Loop Array - If $var is something write values until $var is something else

Here's a variation on Marshall's approach. I've excluded from the output all lines tagged '(could be removed)' in the desired output shown here.

c:\@Work\Perl\monks>perl -wMstrict -e "my @cleared = ( 'JOB::HEREISASTRING', 'Something', 'StringA', 'StringB', 'StringC', 'StringD', 'Something Else', 'StringE', 'StringF', 'StringG', 'StringH ', 'JOB::HEREISANOTHERSTRING', 'Something', 'StringI', 'StringJ', 'StringK', 'StringL', 'Something Else', 'StringM', 'StringN', 'StringO', 'StringP', ); ;; my $rx_job = qr{ \A JOB:: [[:upper:]]+ \z }xms; ;; my $rx_thing = qr{ Something | Something \s+ Else }xms; ;; my $prefix = ''; CLEARED: for my $clear (@cleared) { if (my ($pre) = $clear =~ m{ \A ($rx_thing) \z }xms) { $prefix = $pre; next CLEARED; } ;; if ($clear =~ $rx_job) { print $clear, qq{\n}; next CLEARED; } ;; print qq{~~$prefix~~$clear\n}; } " JOB::HEREISASTRING ~~Something~~StringA ~~Something~~StringB ~~Something~~StringC ~~Something~~StringD ~~Something Else~~StringE ~~Something Else~~StringF ~~Something Else~~StringG ~~Something Else~~StringH JOB::HEREISANOTHERSTRING ~~Something~~StringI ~~Something~~StringJ ~~Something~~StringK ~~Something~~StringL ~~Something Else~~StringM ~~Something Else~~StringN ~~Something Else~~StringO ~~Something Else~~StringP
(BTW: This format is something like what I'd have liked to have seen for your SSCCE.)


Give a man a fish:  <%-{-{-{-<

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (2)
As of 2024-04-26 06:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found