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


in reply to Golf Challenge: FizzBuzz

Here's another cute way to do it, based on a version in C, which was linked to from the comments in the original article:
print+($_,Fizz,Buzz,FizzBuzz)[3&19142723>>2*$_%30]for 1..100

s''(q.S:$/9=(T1';s;(..)(..);$..=substr+crypt($1,$2),2,3;eg;print$..$/