#!/usr/bin/perl -s qq#$/=$x;#;#q#is a Quine statement#;qq $/='qq';$i=shift||2;open(i,$0);$i--;$f=; $f.=$c=;p('^.','','(..$)','','#;#',''); $p&&p(q disd,q pis notp);$s='"\n",eval $c,' .(('&j,eval $c,')x$i).'&a';$d&&eval$c||print reverse (eval $s);$f.=;$d&&&h; sub j {p('#.$','" #');''} sub a {'"' x$i} sub p {@_?(eval'$c=~s/'.(shift).'/'.(shift).'/')&&p(@_):0} sub h {print $f}