$ perl -E " $foo = 1; my $bar = 2; BEGIN{ say -WHAT,$foo,$bar; } say $foo,$bar; " -WHAT 12 $ perl -wE " $foo = 1; my $bar = 2; BEGIN{ say -WHAT,$foo,$bar; } say $foo,$bar; " Use of uninitialized value $foo in say at -e line 1. Use of uninitialized value $bar in say at -e line 1. -WHAT 12 $ perl -wE " my $bar; BEGIN{$foo = 1; $bar = 2;} BEGIN{ say -WHAT,$foo,$bar; } say $foo,$bar; " -WHAT12 12