Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re: Simple perl one-liner for transforming text files

by DaveH (Monk)
on Mar 06, 2003 at 01:08 UTC ( #240768=note: print w/replies, xml ) Need Help??


in reply to Simple perl one-liner for transforming text files

Hi.

Should this move to Obfuscated Code? :-)

perl -F: -al0ne '$i||=1;/^n/&&print$i;!/^u/&&print$F[1];/^$/&&$i++&&pr +int$/'

I don't think it meets the "simple" requirement, but it is mostly on one line... ;-)

Here is what B::Deparse makes of it though, for reference.

LINE: while (defined($_ = <ARGV>)) { chomp $_; @F = split(/:/, $_, 0); $i ||= 1; print $i if /^n/; print $F[1] if not /^u/; print $/ if /^$/ and $i++; }

I'm not sure if the preceeding number is a requirement or not. Without the number prefix, I can get down to:

perl '-F: ' -al0ne '!/^u/&&print qq($F[1] );/^$/&&print$/'

(To run on Win32, change all the ' into " - it should still work.)

Hope that helps.

Cheers,

-- Dave :-)


$q=[split+qr,,,q,~swmi,.$,],+s.$.Em~w^,,.,s,.,$&&$$q[pos],eg,print

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (2)
As of 2023-03-23 18:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Which type of climate do you prefer to live in?






    Results (60 votes). Check out past polls.

    Notices?