Fleece won't compile, because you're using strict, but $fleece was never declared. Normally, you'd use my $fleece, but Exporter can only export package variables (and subs). That means you need to use our $fleece;.
Also, you should explicitely return a true value from your module. In this case, it happens to return true by coincidence, but I recommend you add 1; to the end of your module.
Finally, your script won't work either because you never told Exporter to export $fleece. Add our @EXPORT = qw( $fleece ); to Fleece if you want it exported by default, or add our @EXPORT_OK = qw( $fleece ); to export it on demand.
use warnings; use strict; use Fleece qw( $fleece ); my $BNAME = 'Mary'; print "$BNAME had a little lamb, little lamb, little lamb,\n"; print "$BNAME had a little lamb,\n"; print "It's fleece was $fleece.\n";
package Fleece; use strict; use warnings; use Exporter; our @EXPORT_OK = qw( $fleece ); our $fleece = "white as snow.\n"; 1;
In reply to Re: problem referencing global variable in self-written module
by ikegami
in thread problem referencing global variable in self-written module
by yburge
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |