in reply to How to conditionally use CGI::Carp?
From the documentation for use:
Imports some semantics into the current package from the named module, generally by aliasing certain subroutine or variable names into your package. It is exactly equivalent to
BEGIN { require Module; import Module LIST; }
except that Module must be a bareword.
So, given that, we can replace the 'use' with some form of logic structure
BEGIN { if ( ... ) { # require 'CGI::Carp'; require CGI::Carp; CGI::Carp->import('fatalsToBrowser'); } }
alternately, you can place the 'use' within an eval. (but you'll want it inside a BEGIN block, so it runs really early)
As for what to test for, to compare if you're under CGI vs. on a console... I typically test for the existance of $ENV{'SERVER'} or any of the other environmental variables that are set by the webserver when it's running under CGI.
Update: blah...no quotes in require when not giving direct paths to files.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: How to conditionally use CGI::Carp?
by argv (Pilgrim) on May 06, 2005 at 03:57 UTC | |
by argv (Pilgrim) on May 06, 2005 at 05:05 UTC |