http://www.perlmonks.org?node_id=137039


in reply to Re: 99 bottles, 2 lines
in thread 99 bottles, 2 lines

Hey, i'm new to posting on here, and am trying to work on loadsa things to get myself better at programming in perl... and this one i thought looked cool... so i gave it a try, and nicked a bit of code from chipmunk's code and made my own... it's only 1 line... but one hell of a line... only 1 semicolon in sight! :-) i thought the horrible lot of numbers i put in the qw() could be done a better way, but i was trying to get it done in just the one line, so i gave up trying to think of a way to do it. but this is what i have.
map { print "$_ bottle@{[$_!=1&&s=>]} of beer on the wall, $_ bottle@{ +[$_!=1&&s=>]} of beer. Take 1 down, pass it around, ".($_-1)." bottl +e@{[$_-1!=1&&s=>]} of beer on the wall.\n" } reverse 1..99;
Update: the long line has been decreased thanks to blakem! now it's one line that actually looks pretty sweet! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
i would slit my wrists for you