>perl -wMstrict -le "my @mystrings = ('string') x 10_000; ;; my %evaled; for my $i (0 .. $#mystrings) { eval qq{ qr{\$mystrings[$i]} }; $evaled{$i} = $@; } ;; my $ok =()= grep !$_, values %evaled; printf qq{ok == %4d \n}, $ok; my $bad =()= grep $_ && /Global symbol \"\$mystrings\" requires explicit package name/, values %evaled ; printf qq{bad == %4d \n}, $bad; " ok == 392 bad == 9608