in reply to ($$) and 1;

1.: get rid of the Perl4-ish '&func(args)', it has special meaning in Perl5. Read perlsub for the full truth.

2.: One isn't supposed to enter 1;, one is spoosed to return a true value. If your module does not only declare subroutines, it probably returns a true value before:

package Foo; our $x = 'need_this_on_loading'; sub bar {...}

No '1;' is neccessary here, because the initialization of $x returns a true value, as every assignation returns the assigned value. see perlmod and perlop

--
http://fruiture.de