Golf!! :)
perl -le'$_=`echo butter`;chomp;print'
-- Hofmator | [reply] [Watch: Dir/Any] [d/l] |
What's the point in chomping if you only going to put it back with -l?
perl -e"$_=`echo butter`;print"
but that becomes
perl -e"print `echo butter`"
but hang on, we can simplify that further
echo butter
Oh dear! Now I've done away with the need for perl altogether, which means this thread becomes off topic and is reaper bait:)
Levity aside, I think the OP's question really comes down to "Why can't I do..."
print chomp( `some system command` );
Which is certainly something I have tried more than once, and the only answers I have come up with, and there is probably better wisdom on this kicking around somewhere, is that if chomp returned the result of the thing it chomped, then
chomp(@lines) would have to become
@lines = chomp(@lines) which would be less efficient.
and if you used it in a while loop
while(my $line = chomp(<>) ) {
#do stuff;
}
The loop would terminate early on zero-length blank lines as chomp would return '', which would test false.
Examine what is said, not who speaks.
1) When a distinguished but elderly scientist states that something is possible, he is almost certainly right. When he states that something is impossible, he is very probably wrong.
2) The only way of discovering the limits of the possible is to venture a little way past them into the impossible
3) Any sufficiently advanced technology is indistinguishable from magic.
Arthur C. Clarke.
| [reply] [Watch: Dir/Any] [d/l] [select] |
0123456789012345678901234
perl -le 'print`echo foo`=~/(.*)\n/'
__output__
foo
This of course assumes you're only expecting a single line of output, isn't hugely portable and the golf score also depends on the system call.
HTH
_________ broquaint | [reply] [Watch: Dir/Any] [d/l] |
Thanks & WTF?! :-)
Me thinks some time studying this is required. If this isn't an example of obfuscation I don't think I'd want to see one. | [reply] [Watch: Dir/Any] |
Just in case you don't realise what was meant.. Golf is where Perl programmers try and get a reasonably simple task completed in the least number of (key)strokes. As such it's not quite obfuscation, but it's a very close relative.
Golfing in everyday code is generally a very bad thing as it results in Perl that consists of streams of delicate logic which are very unreadable, and even less maintainable.
| [reply] [Watch: Dir/Any] |
I have met Golf before, though I don't play (for obvious reasons :-). Actually it was a private message explaining Golf in response to a post on beginners@perl or similar that directed me towards PMs
Very interesting to read your post, probably even more interesting to finally understand it at some point.
Forgive me if I don't emulate your solution in my code though :-)
| [reply] [Watch: Dir/Any] |