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

print+("print+(","\"",",","\\",")[g1012131121212133121414=~/./g]")[g10 +12131121212133121414=~/./g]

Update 2012-12-12: see also Short quines, How I Learned About Quines.

Replies are listed 'Best First'.
Re: General quine
by mtve (Deacon) on May 20, 2009 at 13:56 UTC

    inspired:

    print$`,$`,q(print$`,$`,q(1)=~1,$',$')=~1,$',$'

    or a bit shorter

    print$`,$_=q(print$`,$_=q( ),$' x/ /),$' x/ /

    update: more regex quine

    print q(print q(1)=~/((\D+)|.)/g)=~/((\D+)|.)/g