Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Re: Re: Simplifying code (Not obfuscation)

by Hofmator (Curate)
on Mar 04, 2003 at 11:49 UTC ( #240300=note: print w/replies, xml ) Need Help??

in reply to Re: Simplifying code (Not obfuscation)
in thread Simplifying code (Not obfuscation)

Golf!! :) perl -le'$_=`echo butter`;chomp;print'

-- Hofmator

Replies are listed 'Best First'.
Re: Re: Re: Simplifying code (Not obfuscation)
by BrowserUk (Patriarch) on Mar 04, 2003 at 12:16 UTC

    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.
Re: Re: Re: Simplifying code (Not obfuscation)
by broquaint (Abbot) on Mar 04, 2003 at 12:15 UTC
    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.


Log In?

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

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (4)
As of 2022-12-03 21:46 GMT
Find Nodes?
    Voting Booth?

    No recent polls found