$foo = *bar; \$foo =~ /^[A-G]/ and print "Ok!\n"; #### *foo = *1; !eval { ($foo) = $foo } and print "Ok\n"; #### *foo = *_; sub { \$foo[0] == \$foo[1] && !$[ and print "Ok\n"; } -> ($x, $x); #### sub{*foo=\@_}->($x,$x); \$foo[0] == \$foo[1] && !$[ and print "Ok!\n"; #### *foo = \substr(1,0,1); \$foo =~ /^[H-N]/ and print "Ok!\n"; #### BEGIN{$^H{"qr"}=sub{""};$^H|=3<<16}; \$foo =~ /^\0/ and print "Ok!\n"; #### $[ = 2; *| = *[; ($| = 1) == 2 and print "Ok!\n"; warn 0+$|; #### perl -wde 'sub DB::DB { ++$foo==2 and die "break out the eval"; }; !eval { [ @foo ] } and print "Ok!\n"; ' #### #!perl -d sub DB::DB { ++$foo==2 and die "break out the eval"; }; !eval { [ @foo ] } and print "Ok!\n";