Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re^2: Origin of 'md5sum' and 'sh' logs

by morgon (Priest)
on Feb 26, 2019 at 01:22 UTC ( #1230542=note: print w/replies, xml ) Need Help??


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

In general a "my" variable cannot be declared within a conditional statement.
Of course it can. Why should this be a problem?

You can declare a "my" variable in any lexical scope - the branches of an if-statement are just one example:

use strict; my $whatever; if($whatever) { my $something = "here"; } else { my $something = "there"; } print "look I compiled\n";

Replies are listed 'Best First'.
Re^3: Origin of 'md5sum' and 'sh' logs
by Marshall (Abbot) on Feb 26, 2019 at 01:43 UTC
    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
      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.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1230542]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (3)
As of 2020-05-29 06:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    If programming languages were movie genres, Perl would be:















    Results (166 votes). Check out past polls.

    Notices?