manishrathi has asked for the wisdom of the Perl Monks concerning the following question:
In this code $var is declared in program. What package does it belong to ? What is main package ? If I declare $var in a program, does it automatically belong to main package ? If I declare variable $anything , which does not exist in main package. Now , if I use strict, is it required to use main before the $anything ($main::anything) ? How does $anything become a part of main package ? Or does main mean main body (and not subroutines) of program that we are dealing with ? So does it mean that everything from "#!/usr/bin/perl" to the "print $var; " excluding subroutines is main ?#!/usr/bin/perl $var = "foo"; print $var, "\n"; modify_var(); print $var, "\n"; sub modify_var { $var = "bar"; } print $var; ___OUTPUT___ foo bar bar
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: main package
by moritz (Cardinal) on Oct 06, 2009 at 15:38 UTC | |
|
Re: main package
by ikegami (Patriarch) on Oct 06, 2009 at 16:26 UTC | |
by manishrathi (Beadle) on Oct 06, 2009 at 18:39 UTC | |
by ELISHEVA (Prior) on Oct 06, 2009 at 19:13 UTC | |
by ikegami (Patriarch) on Oct 06, 2009 at 19:55 UTC | |
|
Re: main package
by Anonymous Monk on Oct 06, 2009 at 15:41 UTC |