On Do. 03. Feb. 2005, 12:56:24, guest wrote:
Show quoted text> Autrijus,
>
> I've been able to create a reproducible example using Perl v5.8.6. There
> are two files in the attached archive (perl5.par which contains
> HTML::FillInForm and test.par which is described below).
>
> I tried to wrap up the example into a PAR loader. However, the code
> works when called like this:
>
> parl perl5.par test.pl
>
> Instead, if you unpack the archive and call the script/test.pl directly:
>
> perl test.pl
>
> You will get the error that I reported earlier.
>
> Another way to get rid of the error (besides hacking HTML::FillInForm)
> is to load another package which uses HTML::FillInForm. You can achieve
> this with the following code:
>
> perl -MPAR=test.par -MTest test.pl
>
> I've tried putting Test.pm into the perl5.par and calling the code with
> the following command:
>
> perl -MTest test.pl
>
> This also results in the error which seems to indicate that the second
> call to PAR is necessary to correct the first problem.
>
> Also, the following command avoids the error:
>
> perl -MHTML::FillInForm test.pl
>
> Finally, putting the call to use HTML::FillInForm above the use PAR line
> in my test script also fixes the problem.
>
> So, it seems that if HTML::FillInForm gets loaded by another operation,
> everything works. Otherwise, if it gets loaded from within a PAR
> archive, we end up in an infite loop calling AutoLoader::AUTOLOAD. I
> hope some of this information helps to track down the cause of the
problem.
Show quoted text>
>
> William
Hi William,
sorry for the late reply. Perhaps I don't quite understand the problem,
but using your test case (with HTML::FillInForm), I can't reproduce the
problem as shown below:
tsee@tsee64:/tmp/par/tmp$ unzip autoload-test.zip
Archive: autoload-test.zip
inflating: test.par
inflating: perl5.par
tsee@tsee64:/tmp/par/tmp$ unzip perl5.par
Archive: perl5.par
inflating: HTML/FillInForm.pm
inflating: script/test.pl
inflating: Test.pm
tsee@tsee64:/tmp/par/tmp$ perl script/test.pl
Going to undef $fif at script/test.pl line 23.
Done.
tsee@tsee64:/tmp/par/tmp$ rm -rf HTML/
tsee@tsee64:/tmp/par/tmp$ perl script/test.pl
Going to undef $fif at script/test.pl line 23.
Done.
Also, neither CGI::Session nor HTML::FillInForm use Autoloader as far as
I can tell!
I haven't investigated Time::Piece yet.
Steffen