Ok. 151 bytes. No warnings. @b='#{n>0?n: :No} bottle#{:s if n!=1} of beer' @w=' on the wall' eval %{puts"#@b#@w, #@b\nTake one down, pass it around,",(n-=1;"#@b#@w.\n\n");}*(n=99)