On Mon, Mar 13, 2000 at 07:36:03PM -0600, Matthew Langford wrote: > > I'm trying to compile HTML::Parser 3.06, but in the process I find that > the xsubpp wrapper I have is broken. When I drag afile on it, I get this > error: > > # Couldn't run xsubpp: # Can't locate Nu:Development:MacPerl > :MacPerl_Src:perl:lib:ExtUtils:xsubpp in @INC. > File '(eval 38)'; Line 1 > > If I run it again, the second line becomes > > File '(eval 40)'; Line 1 > > And so on; each time I run it, the number goes up by 2. I've solved the > original error. My question is, why this inscrutable location, This is the 38th invocation of eval (or the 40th, or whatever), respectively. I believe the next release of Perl will print out the file information as well. > and why > does it increase by two when repeated? MacPerl has the unfortunate quirk of not resetting the eval numbering when a script is started. If you quit MacPerl and start again, the numbering will start over. On Unix, where the interpreter is not persistent, the error message would read '(eval 2)' each time. > If you're still with me, the error was occurring on a line which eval'd a > require statement. > > Other odd things...I tried printing @INC just before the eval line, but it > never printed anything, unless I changed it to a die "@INC\n". But syntax > checking produced no errors. Does perl evaluate the contents of the eval > before executing the print statement, but not at syntax-check time? I don't understand the question. The code in eval { } is compiled at compile time. The code in eval " " is compiled at runtime. Both are executed at runtime. Ronald # ===== Want to unsubscribe from this list? # ===== Send mail with body "unsubscribe" to macperl-request@macperl.org