in reply to Re2: import() magic
in thread import() magic
If you read the docs carefully, you'll see that even though import is not a built-in, it is has 'magic' treatment.
Ovid@OT-D1 ~ $ perl -e '$x=bless{}, "Foo";$x->import;print "Defined" if defined &Fo +o::import' Ovid@OT-D1 ~ $ perl -e 'print "Defined" if defined &UNIVERSAL::isa' Defined
As you can see from the above snippet, even though we call an import method, none is actually defined in %Foo::. I threw in the %UNIVERSAL:: test so you can see how that test works. Here's proof that it is "special". Note that the call to the non-existent method &Foo::import is successful, but the second call to a non-existent method is not.
$ perl -e '$x=bless{}, "Foo";$x->import;$x->no_way' Can't locate object method "no_way" via package "Foo" (perhaps you for +got to load "Foo"?) at -e line 1.
Cheers,
Ovid
Join the Perlmonks Setiathome Group or just click on the the link and check out our stats.
|
|---|