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

#!/usr/bin/perl -w $sea = q < _ _ _ ,="`/ / /'=. O / / / / / / /\, O /_/_/_/_/ / /,^' _.=// o .-' - _ - _ -`"-,/-/\ /`_,=.' o / -_ - _ -,_ - _ -\/.\|/_,=`^' o / @ _'"`} _- _- ,\.='_. ^", / -'_-'} - _ - _ -=--_'=; \-, "=._} ;._--_-_; % `-._ .~ /;' \ `"=.; sea `"\`;-.}_ _ _.;\ \/ \'=._\ =('`' \ =.}\ \ \ \ \' '._=_.\ ,10,'=' \_}`=._\_\.'` '=.\ ,5,'\\\'x4,4 ,_,3,' ".',2,'/}',1,' -',-1,' |',-2,';',-4,'~',-9);map{$sea=ord'a';map{$.=$_;map{$ sea+=$sea{$_}if$.=~/[$_]/}keys%sea;$,.=$"if/\^/}spli t//;$,.=chr$sea;die"$,$/"if/~/;}split/[,']/,$sea>;$_ =$sea;s;[^%]+%;%;s;s;\s+[`\\].*|\s+;;g;eval;print$@;
Credits go to jgs for the original drawing of the fish were this code is based on.

update: Changed $; into $, which is undefined by default.
As John M. Dlugosz mentioned on W2K $; is displayed as ascii 192.