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

part 4 of an occasional series: (1,2,3)
$_='map($ ..=pack("C",--$ _),@_=unpack"C*", q^pqfo!g -#?p/cnq#<qsjou!g!qb dl#b3W:y31Dy4D2 127#-CN-29429-1-2189-5 1-251-241-63539:- 1-29311-366-279<%v>qbd l#y29311#<%q>5+bubo3 )2-2*<gps)1//31111*|%s >%`+%q02911<nbq!|%i>fy q))%s,%`0:*0:*0:<%y>)2 0)%i,20%i**+dpt%s<%z>) 20)%i,20%i**+tjo%s<w fd)%v-jou)81+)2,%y,%z* ,251+)21,jou)26,91 +%i++30)2,%i++3*,51+)% z.%y****-9*>)%q 03,%s*&)3+%q*?%q@3;2 ~1//26~qs jou!g%v^),eval$.' ;s#\s##g;eval

this generates a file called o.bmp, and shares some code with 3, but hopefully i've fixed the problems people were having (ie wrapping). if anyone has any problems please let me know and i'll try and fix it!
enjoy.
alex Update I've added a deconstruction as a reply