ASPN ActiveState Programmer Network
ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups


Recent Messages
List Archives
About the List
List Leaders
Subscription Options

View Subscriptions
Help

View by Topic
ActiveState
.NET Framework
Open Source
Perl
PHP
Python
Tcl
Web Services
XML & XSLT

View by Category
Database
General
SOAP
System Administration
Tools
User Interfaces
Web Programming
XML Programming


MyASPN >> Mail Archive >> modperl
modperl
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

Privacy Policy | Email Opt-out | Feedback | Syndication
© ActiveState Software Inc. All rights reserved