in reply to Re: Returning the value generated in package/module problem
in thread Returning the value generated in package/module problem

If you are trying to export a variable from your package, it needs to be declared as a "our" variable in that package to give it package scope, then you can export it.
use strict; #update had left this off before use warnings; package MY_package; use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $VERSION); use Exporter; our $VERSION=1.0; our @ISA = qw(Exporter); our @EXPORT = qw($c_freq ); our $c_freq = 2; #now $c_freq is visible as a global
$Price_calc::amastringsentback, amastringsentback needs to be an our $amastringsentback. In this case you use the fully qualified name, so $amastringsentback wouldn't need to be exported, but it still does have to be an "our" variable (not a my variable) to get in the symbol table.

Update: as Anonymous Monk says undeclared var may be ok. I just never write code without strict and warnings - so didn't consider that point.

Replies are listed 'Best First'.
Re^3: Returning the value generated in package/module problem
by Anonymous Monk on Oct 12, 2010 at 12:33 UTC
    If you are trying to export a variable from your package, it needs to be declared as a "our" variable in that package to give it package scope, then you can export it.

    Not if you don't use strict/warnings, undeclared variables are global variables by default