Hey all, I'm having some difficulty with Exporter. I would prefer to use the Readonly module instead, but I don't have admin permissions which I would need to install it at work.
I want to declare some constants in a header-type file, and then use them in lots of other scripts. So far, I have in 'definitions.pm':
#! /usr/bin/perl
package definitions;
require Exporter;
@ISA= qw(Exporter);
use strict;
use warnings;
######################################
## definitions so that if constants ##
## change or are wrong, they can be ##
## easily updated ##
@EXPORT=qw(CONST CONST2);
use constant CONST => 2;
use constant CONST2 => 3;
1;
That was basically copied from the Exporter documentation. In 'temp.pl' i have:
#! /usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
use definitions;
print Dumper CONST;
print Dumper "CONST";
print CONST
exit 0;
so firstly, when I call temp.pl I get:
"Global symbol "@EXPORT" requires explicit package name at definitions.pm line 16"
so I try adding 'my' before @EXPORT:
"Bareword "CONST" not allowed while "strict subs" in use at ./temp.pl line 10."
so I try 'our' and get the same error, then i try 'use Exporter' rather than 'require': same results as above.
If I just run 'definitions.pm' using my @EXPORT, it will at least print '2'. but that's as far as I can get. bah. any suggestions?