Re: Using Constants from seperate file
by Steve Piner other posts by this author
Jul 28 2002 11:16PM messages near this date
Using Constants from seperate file
|
Re: Using Constants from seperate file
What does 'Constants.lib' look like? Does it have a 'package' statement?
Does it use Exporter?
If it's a package then unless you've got some magic in 'Constants.lib',
that BEGIN block will not pull the constants into the current package -
the 'import' call is missing. (See perldoc -f use)
If it isn't a package, then it will only get pulled into the first
package that 'require's it. In this case you probably want to be using
'do "file"' rather than 'require', however it would probably be better
to convert the file into a proper package.
What's so terrible about loading the constants file at startup?
Steve Piner
allan juul wrote:
>
> hi
>
> i wish to use use constants defined in a seperate file. my problem is, that
> sometimes it works sometimes it doesn't. when failing, the error_log says
> Bareword is not allowed so i guess it sometimes never loads my constants file
> at all.
>
> this is my basic approach:
>
> Package Foo:Bar;
>
> use strict;
>
> BEGIN {
> require "Constants.lib";
> }
>
> sub handler {
> my $r = shift;
> ...
>
> my $sql = SQL_SELECT; # pull in constant value
> ....
>
> }
>
> is this a stupid approach, and if so what would be a more correct solution?
> (i would prefer _not_ to have the constant file loaded once and for all in a
> startup.pl).
>
> any suggestions appriciated
> thanks
> ./allan
--
Steve Piner
Web Applications Developer
Marketview Limited
http://www.marketview.co.nz
Thread:
allan juul
Steve Piner
Ged Haywood
|