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
|
---|
In Section
Seekers of Perl Wisdom