in reply to Re^2: Origin of 'md5sum' and 'sh' logs
in thread Origin of 'md5sum' and 'sh' logs

can declare a "my" variable in any lexical scope. Well, ok but you can't use it outside of that scope. The OP's indenting is confusing to me. Your code works until you try to use $something outside of lexical scope.
#!/usr/bin/perl use strict; use warnings; my $whatever; if($whatever) { my $something = "here"; } else { my $something = "there"; } print "look I compiled $something\n"; __END__ Global symbol "$something" requires explicit package name (did you for +get to declare "my $something"?) at Monks\Badcode.pl line 14. Execution of Monks\Badcode.pl aborted due to compilation errors. Process completed with exit code 255

Replies are listed 'Best First'.
Re^4: Origin of 'md5sum' and 'sh' logs
by morgon (Priest) on Feb 26, 2019 at 02:44 UTC
    Of course you can't use it outside of it's scope.

    There is a reason it's called "my".

    I did not read the OP - I was just picking up on your statement.