Learning Perl Objects, References amp;amp; Modules [Electronic resources] نسخه متنی

اینجــــا یک کتابخانه دیجیتالی است

با بیش از 100000 منبع الکترونیکی رایگان به زبان فارسی ، عربی و انگلیسی

Learning Perl Objects, References amp;amp; Modules [Electronic resources] - نسخه متنی

Randal L. Schwartz

| نمايش فراداده ، افزودن یک نقد و بررسی
افزودن به کتابخانه شخصی
ارسال به دوستان
جستجو در متن کتاب
بیشتر
تنظیمات قلم

فونت

اندازه قلم

+ - پیش فرض

حالت نمایش

روز نیمروز شب
جستجو در لغت نامه
بیشتر
لیست موضوعات
توضیحات
افزودن یادداشت جدید














2.8 Scope of a Package Directive


All files start as if you had said
package main;. Any
package directive remains in effect until the next
package directive, unless that
package directive is inside a curly-braced scope.
In that case, the prior package is remembered and restored when the
scope ends. Here's an example:

package Navigation;
{ # start scope block
package main; # now in package main
sub turn_towards_heading { # main::turn_towards_heading
.. code here ..
}
} # end scope block
# back to package Navigation
sub turn_towards_port { # Navigation::turn_towards_port
.. code here ..
}

The current package is lexically
scoped, similar to the scope of my variables,
narrowed to the innermost-enclosing brace pair or file in which the
package is introduced.

Most libraries have only one
package declaration at the top of the file. Most programs leave the
package at the default main package. However
it's nice to know that you can temporarily have a
different current package.[10]

[10] Some names are always in
package main regardless of the current package:
ARGV, ARGVOUT,
ENV, INC,
SIG, STDERR,
STDIN, and STDOUT. You can
always refer to @INC and be assured of getting
@main::INC. The punctuation mark variables such as
$_, $2, and
$! are either all lexicals or forced into package
main, so when you write $. you
never get $Navigation::. by mistake.




/ 199