This is PerlMonks "Mobile"

Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  


in reply to Drunk on golf: 99 Bottles of Beer

phpGolf seems to have reached the end of its life cycle. My 172 byte solution was the following:

<?for(;100>$a=1+$a." bottle$o[21] of beer";$o=" Take one down and pass it around, $b. ".$g="$b, $a.$o")$b="$a on the wall";echo"$g Go to the store and buy some more, $b.";

Replies are listed 'Best First'.
Re^2: Drunk on golf: 99 Bottles of Beer
by eyepopslikeamosquito (Archbishop) on May 23, 2016 at 10:22 UTC

    Thanks for sharing your solution, and for reminding me of the good old days on the PHP golf course. After digging out my old notes, I can finally share my PHP solutions too.

    I had many different 173 strokers, such as (without bothering with the routine PHP bitwise ~ string inversion golfing trick to reduce the " on the wall" strings below by one char - see here or the "Quoted Strings" section at The golf course looks great, my swing feels good, I like my chances (Part VI) for the gory details of this PHP trick):

    <?for(;$c=($b=++$n." bottle$s of beer")." on the wall",99^$x="$c, $b. $z$x";$s=s)$z="Take one down and pass it around, $c. ";echo$x."Go to the store and buy some more, $c."; <?for(;$c=($b=++$n." bottle$z[20] of beer")." on the wall",99^$x="$c, +$b. $z$x";)$z="Take one down and pass it around, $c. ";echo$x."Go to the store and buy some more, $c."; <?for(;99^$x=($c=($b=++$n." bottle$x[21] of beer")." on the wall").", +$b. $x";$x="Take one down and pass it around, $c. $x")?><?=$x,"Go to the store and buy some more, $c.";
    I had a mental block and just could not get to 172!

    After I had given up, ToastyX mercifully gave me a hint, and then I finally did get to 172 -- but did not submit either of these two below because I would never have thought of them without ToastyX's hint:

    <?for(;99^$c=($b=++$n." bottle$x[21] of beer")." on the wall";$x=" Take one down and pass it around, $c. $c, $b.$x")?><?="$c, $b.$x Go to the store and buy some more, $c."; <?for(;99^$c=($b=++$n." bottle$s of beer")." on the wall";$s=s)$x=" Take one down and pass it around, $c. $c, $b.$x";echo"$c, $b.$x Go to the store and buy some more, $c.";