![]() |
|
Clear questions and runnable code get the best and fastest answer |
|
PerlMonks |
Re^3: why package definition order affect the available of package variableby rjt (Curate) |
on Oct 20, 2019 at 23:50 UTC ( #11107737=note: print w/replies, xml ) | Need Help?? |
Glad I could help. The perlmod Perl documentation is probably the best single source of information on your question. It does talk about package semantics, but pay particular attention to the "BEGIN, UNITCHECK, CHECK, INIT and END" section. In addition to describing things well, it has a really great example which is basically a more complex version of the example I gave earlier. why package {} is irrelevant ? which else language feature such as forward definitions ? package { ... } is irrelevant to your example because the only thing that matters in your example is the order in which the variable was assigned versus where the variable was used. As for language features, Perl is full of them. Perl is an extremely powerful language with a rich history. While there are some specific features that can be enabled or disabled, there are of course many, many more that are simply part of the language. You won't find a comprehensive list of them in one place, that I know of. To learn these features, just keep learning Perl! Keep writing code, keep giving yourself increasingly challenging projects, and look at as many good examples of Perl code you can find.1 Use the excellent Perl documentation every time you aren't sure of something (or browse a random Perl document on a topic that interests you), and you'll usually come away with an answer to your immediate question plus three or four other things you didn't know either. Read Perl books. Visit PerlMonks often, ask questions,2 be a part of the community, and you'll master the language quickly. ______________
In Section
Seekers of Perl Wisdom
|
|