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


in reply to 99 bottles, 2 lines

I came across this way late, and also felt that urge in the pit of my bowels (or it could be gas) to share my result. Homage to the original poster, as although this is two lines of 79 77 chars each, it really doesn't even come close to the superiority of the orig.

# Bad code - left here just because $c=99;sub q{$w="bottle".(--$c?'s':'')." of beer";++$c;$q=$w.' on the w +all.'}do{ &q;print"$c $q $c $w.\nTake one down, pass it around,\n".--$c." $q\n\n +"}while$c # ######## # Good code, as in - it works $c=99;sub q{$c.' bottle'.($c!=1?'s':'').' of beer'}sub e{&q.' on the w +all'}do {print&e,'. ',&q,".\nTake one down, pass it around,\n",e(--$c),"\n\n"} +while$c

Best,
  -Adam

P.S. I wonder if anyone's ever gonna read this...
P.P.S. I just realized the "0 bottle" error - oh, the dispair!
P.P.P.S. Revised - shorter, and works correctly.

--
Impossible! The Remonster can only be killed by stabbing him in the heart with the ancient bone saber of Zumakalis!