I'm wish to use a seperate file to hold my configuration variables in, but I'm having difficulty understanding properly how the scope works under 'strict'.
I've tried every combination that I can think of using 'use', 'use vars', 'my', 'require' and 'do', but I can't get it to run cleanly using 'warnings'. Also, I'd rather understand it properly than blindly trying out out combinations of functions I don't full understand.
I have a file
"conf.pl" which contains.
{
var1 => "one",
var2 => "two"
}
And the main program "
test.pl" which contains.
#!/usr/bin/perl -wT
use strict;
my $conf = do ('G4 HD:Desktop Folder:perl:test:config.pl');
print $conf->{'var1'}, "\n";
However, when I run test.pl I get the following error message
# Use of uninitialized value in print.
File 'G4 HD:Desktop Folder:perl:test:test.pl'; Line 6
I've read the docs on 'use' 'do' and 'require', but I still don't understand what i'm doing wrong.
Any pointers would be most appreciated.