Perl, share package variable without Export

Posted by Mike on Stack Overflow See other posts from Stack Overflow or by Mike
Published on 2010-06-13T20:16:05Z Indexed on 2010/06/13 20:22 UTC
Read the original article Hit count: 397

Filed under:
|
|

I'm creating a group of Perl scripts, and I would like to have one package store a group of constants. I don't want to export them using Exporter because there will be quite a few and I don't want to pollute the namespace. Since there will be so many, I don't want to require the user to be forced to manually specify which they will be using.

I think the best way to just use the packagename::var syntax, however it doesn't seem to be working as I expect it to. I illustrate this problem in the below code

This is settings.pm, the module that will hold the global settings

#!/usr/bin/perl
#settings.pm

use strict;
use warnings;

package settings;

our $foo="hello world";

1;

Below is the main script

#!/usr/bin/perl
#script.pl

use strict;
use warnings;

use settings;

print settings::$foo;

It gives this error message instead or printing hello world

Bad name after settings:: at ./script.pl line 8.

© Stack Overflow or respective owner

Related posts about perl

Related posts about package