Perl doesn't treat lexical variables declared in the outer most block (at "file level") any different than lexical variables declared in a nested block. The scope for lexical variables is from their point of declaration to the end of the enclosing block. For file level variables that is to the end of the file.

Such variables are often known as global variables and should generally be avoided. It is common to use a run sub to ensure there are no unintentional global variables:

#!/usr/bin/perl use strict; use warnings; run(); sub run { my $tricky = "in run"; test_sub(); } ...

By the way using & to call subs is rather old school Perl style and probably isn't doing what you expect. Instead use the subname(); style shown above.

True laziness is hard work

In reply to Re: Scope of lexical variables in the main script by GrandFather
in thread Scope of lexical variables in the main script by sophate

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • 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:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.