Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re: Perl Module ending without 1;

by toolic (Chancellor)
on Jul 18, 2009 at 17:42 UTC ( #781362=note: print w/ replies, xml ) Need Help??


in reply to Perl Module ending without 1;

What happens if I write a Perl module which does not end with 1;?
You could get an error.

To satisfy my curiosity, I created a contrived example to prove that an error would result with use. Since I had never experienced this in practice, it is probably difficult to achieve, but it is possible. Here is a legal (but probably unlikely) scenario. Notice that I have commented out the '1;' at the end of the package. If you uncomment it, there will be no error:

C:\Perl>type MyFoo.pm package MyFoo; use strict; use warnings; sub bar {print "bar\n"} #1; C:\Perl>type foo.pl use warnings; use strict; use MyFoo; print "hello\n"; MyFoo::bar(); C:\Perl>perl foo.pl MyFoo.pm did not return a true value at foo.pl line 3. BEGIN failed--compilation aborted at foo.pl line 3.

Since it is simple enough to do, and it is a well-known convention, it is a good practice to add '1;'.


Comment on Re: Perl Module ending without 1;
Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://781362]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (14)
As of 2014-08-29 22:41 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (289 votes), past polls