# original 96-stroke solution \$c[\$_*=.52,5.5-4.7*cos][8+7.4*sin]=(\$_^\$`%12?o:x)&(\$_^\$'/5?o:'}')for<>!~/:/..11;print"@\$_ "for@c # 102-stroke pack-friendly makeover map\$c[\$_*=.52,5.5-4.7*cos][8+7.4*sin]=(\$`%12^\$_?o:x)&(\$'/5^\$_ ?o:v125),0..s//<>/e./:/;print"@\$_\n"for@c#``` ##```## @c=(@b=(++\$n,bottle.'s'x@-,of,beer),on,the,wall),s//Take one down and pass it around, @c. @c, @b. /until/, 99\D+/;print\$'."Go to the store and buy some more\$&" ##``````## @m=(@z=(++\$n,bottle.\$&,of,beer),on,the,wall),s/^/,\$"@m.\n\n@m,\$"@z.\n\u@j/until@j=/s/?(take,one,down,an.d,pass,it,around):(go,to,the,store,an.d,buy,some,more),/^99/m;print\$&.\$'.\$` ##``````## s//\utakevonevdownvandvpassvitvaround,v@s.__/until@s=(@b=++\$s.vbottle."s"x@b.vofvbeer,onvthevwall),s//@s,v@b._/,/99/;s/\$/\ugovtovthevstorevandvbuyvsomevmore,v@s./;y/v_/\40\n/;print ##``````## \$_=v71.ovtovthevstorevandvbuyvsomevmore;@z=(\$b=++\$n.vbottle."s"x@+.vofvbeer,onvthevwall),s;^;\utakevonevdownvandvpassvitvaround,v@z.\n\n@z,v\$b.\n;,y/v/\40/until/,.99[^9]*/;print\$'.\$& ##``````## # 1 2 3 4 5 6 7 #234567890123456789012345678901234567890123456789012345678901234567890123 v;\$_=v71.ovtovthevstorevandvbuyvsomevmore;@z=(\$b=++\$n.vbottle."s"x@+.vof. vbeer,onvthevwall),s;^;\utakevonevdownvandvpassvitvaround,v@z.\n\n@z,v\$b. ;,y/v/\40/until/,.99[^9]*/;print\$'.\$& #234567890123456789012345678901234567 # 1 2 3 ##``````## s;^;\utakevonevdownvandvpassvitvaround,v@z.\n\n@z,v\$b. ; ##``````## my \$source = <<'PERSEVEROUS'; v;\$_=v71.ovtovthevstorevandvbuyvsomevmore;@z=(\$b=++\$n.vbottle."s"x@+.vof. vbeer,onvthevwall),s;^;\utakevonevdownvandvpassvitvaround,v@z.\n\n@z,v\$b. ;,y/v/\40/until/,.99[^9]*/;print\$'.\$& PERSEVEROUS my \$out = unpack 'u54', uc(\$source); open my \$fh, '>', 'b.pl' or die "error: open b.pl: \$!"; binmode \$fh; print \$fh "eval lc pack u54,'" . \$out . "'"; ```