> -----Original Message----- > From: Nikola Janceski [mailto:[EMAIL PROTECTED]] > Sent: Wednesday, August 14, 2002 2:54 PM > To: Beginners (E-mail) > Subject: possible RFC? > > > WTF doesn't perl -c check for valid subroutines/function calls? > > I can write a perlscript calling a function that doesn't > exist but perl -c > will say syntax ok. > ie: > % perl -ce "nothing_here('some junk')" > -e syntax OK > > % perl -e "nothing_here('some junk')" > Undefined subroutine &main::nothing_here called at -e line 1. > > That doesn't make sense! > It should check function calls at compile time, correct?
No, otherwise CGI.pm and tons of other stuff would never work. > So why not for -c? Consider the following program: $_ = 'sub foo { print "Hello World\n" }'; eval $_; foo(); foo() is not defined a compile-time, but it's still a perfectly valid program. Because of this, perl -c cannot check the call to foo() at compile-time. Thinking of perl -c as a "compiler" is a bit of a misnomer. Just for kicks, wrap the code above in a BEGIN { } block and run perl -c on it. See what I mean? > > Excuse me if I have overstepped my bounds. I still love Perl > regardless, but > it can be better. No way! :~) -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]