Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re: Simple perl one-liner for transforming text files

by DaveH (Monk)
on Mar 06, 2003 at 01:08 UTC ( [id://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?Last hourOther CB clients
Other Users?
Others avoiding work at the Monastery: (3)
As of 2024-06-20 19:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    erzuuli‥ 🛈The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.