Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re^2: Config file recommendations?

by Spidy (Chaplain)
on Mar 19, 2008 at 14:52 UTC ( [id://675013]=note: print w/replies, xml ) Need Help??


in reply to Re: Config file recommendations?
in thread Config file recommendations?

That does seem to be what I'm looking for - if I had a config file like this:
%config = ( foo => bar, bat => baz, );
How would I use that inside my Perl script, and have it globally available? Would require config; automatically setup the %config hash for the script that required it?

Replies are listed 'Best First'.
Re^3: Config file recommendations?
by kyle (Abbot) on Mar 19, 2008 at 15:21 UTC

    I think maybe you're looking for Exporter. With it, you can have a module that will place a variable into the namespace of a program that uses it.

      This is what I've been trying, but it doesn't quite seem to work:

      use Exporter; our @ISA = qw(Exporter); our @EXPORT = qw(%config); %config = ( foo => bar, baz => bat );

      But I would still get the error Global symbol "%config" requires explicit package name. The code to use my config file was:

      use config;

        Main file:

        use strict; use warnings; use lib '.'; use MyConfig; use Data::Dumper; print Dumper \%config;

        MyConfig.pm:

        package MyConfig; use strict; use warnings; use Exporter; our @ISA = qw(Exporter); our %config; our @EXPORT = qw(%config); %config = ( foo => 'bar', baz => 'bat', ); 1;

        And the output:

        $VAR1 = { 'baz' => 'bat', 'foo' => 'bar' };

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://675013]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (3)
As of 2024-04-26 00:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found