But try the following:
I suspect that the warning comes when it imports and realizes that it has already parsed code whose meaning is being changed by the prototype. And the way I said that should go a long way to answering your question.mysub(1); BEGIN { package Foo; require Exporter; @ISA = qw(Exporter); @EXPORT = qw(mysub); sub mysub ($) { print "mysub: @_\n" }; } BEGIN { warn("About to import\n"); Foo->import(); warn("Imported\n"); }
BEGIN blocks are executed once the BEGIN block is parsed. That means that they run before later code is parsed, and after prior code is already parsed. This is also why BEGIN blocks run in the order they appear in the file...
In reply to Re (tilly) 5: No excuses about not using CGI.pm
by tilly
in thread variables not posting?
by stuffy
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |