in reply to Re: runtime eval() and constants
in thread runtime eval() and constants

perl will compile DBI::SQL_VARCHAR as being a string before DBI.pm is executed (which will export the DBI::SQL_VARCHAR "constant".
Ah, yes, that's what I thought was happening.

Just for reference -- I intentionally used 'require' because eval() will capture the die() generated from a require statement, if it can't find the module. If you eval{ use Blah }, then you don't get the opportunity to capture that die().

I also discovered that I could have two separate evals, one for the require, and then one for the constant. However, it seemed more efficient to me to put them both into one eval(). It works too, so long as I keep the compliation order in mind...

Thanks for all of the good feedback :)

-Dave