in reply to help with Exporter

BTW the same applies for @ISA - it should be declared with our. But since that is after you use strict;, perl won't complain.

Another way is thise: use base Exporter, or don't inherit from Exporter at all:

use Exporter qw(import);

Replies are listed 'Best First'.
Re^2: help with Exporter
by why_bird (Pilgrim) on Feb 28, 2008 at 09:51 UTC

    Ok, I tried this:

    snippet:

    ... ## easily updated ## our @ISA= qw(Exporter); our @EXPORT=qw($NPR_TO_DAC $NPR_TO_ADC); use constant CONST => 2; ...

    but I still got Bareword "CONST" not allowed while "strict subs" in use at ./temp.pl line 10.

    So I removed @ISA, and tried use base 'Exporter' instead:

    #! /usr/bin/perl package definitions; require Exporter; use base 'Exporter'; use strict; use warnings; ################# ## definitions ## our @EXPORT=qw($NPR_TO_DAC $NPR_TO_ADC); use constant CONST => 2; use constant CONST2 => 3; print CONST; 1;

    this gave the same Bareword error.
    I think half the problem is that I don't really understand what Exporter is doing or how it works... I have read the documentation, but I'm still somewhat new at this..!
    Thankyou for your help so far---any further tips?

      I tried your second snippet (copied and pasted to a new script), and it runs!

      I have a perl 5.8.8, what's your perl version? And are you sure you tried exactly the same script as you posted here?