in reply to Re: Any difference between use and require regarding honoring prototype defined for sub? (prototype)
in thread Any difference between use and require regarding honoring prototype defined for sub?
Thanks, what I read the difference between use and require is that module included by use is loaded in compilation while it is loaded in execution by require, but they won't cause any difference on hornoring the protocol defined for the sub. But in my example, if I use 'use', then I should call the sub with ($$@@) instead of ($$\@\@) as defined for sub's protocol. Also, when trying your 3 commands, only the second one seems good.
$ perl -le "sub f($$@@){warn qq{@_}}; f(@ARGV,@ARGV,@ARGV); " 1 2 3 4 +5 Malformed prototype for main::f: 29673@@ at -e line 1. $ perl -le " eval q{sub f($$@@){warn qq{@_}}}; f(@ARGV,@ARGV,@ARGV); " + 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 at (eval 1) line 1. $ perl -le " sub f($$@@); eval q{sub f($$@@){warn qq{@_}}}; f(@ARGV,@A +RGV,@ARGV); " 1 2 3 4 5 Malformed prototype for main::f: 29673@@ at -e line 1.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Any difference between use and require regarding honoring prototype defined for sub?
by Athanasius (Archbishop) on Nov 20, 2012 at 04:50 UTC |