my $codeAsText = do{ local( @ARGV, $/ ) = $0; <>; }; print $codeAsText; #### open (my $foo, $0); print <$foo>; close $foo;