Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Re: Perl Module ending without 1;

by toolic (Bishop)
on Jul 18, 2009 at 17:42 UTC ( [id://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 package MyFoo; use strict; use warnings; sub bar {print "bar\n"} #1; C:\Perl>type use warnings; use strict; use MyFoo; print "hello\n"; MyFoo::bar(); C:\Perl>perl did not return a true value at line 3. BEGIN failed--compilation aborted at line 3.

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

Log In?

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

How do I use this?Last hourOther CB clients
Other Users?
Others exploiting the Monastery: (4)
As of 2024-05-23 15:29 GMT
Find Nodes?
    Voting Booth?

    No recent polls found