It depends on what scope the print statement falls into. Consider:
$foo = 'foo';
sub foo {
print $foo . "\n";
my $foo = 'bar';
print $foo . "\n";
}
foo;
which outputs:
foo
bar
Never do that in real code if you can help it.
Here, the scope of the global $foo is everywhere it's not masked by another variable with that name. Within the subroutine, it is only masked from the point the lexical $foo is declared until the end of the block. The sub has two different values for two different variables with the same name. That's a mess, and would be better avoided than implemented correctly. Implementing it correctly with the two variables named the same is just asking for someone to move the declaration of the lexical or the use of the global, and then you've got broken code.
You might not be able to control the naming of the global, but one would hope that you can control the name of the lexical. I would carefully name it something different.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.