On Tue, Mar 02, 2004 at 05:42:07AM -0500, Rodent of Unusual Size wrote: > non-integer, or an unopened filehandle. i've tried things > like having mkconst() do > > my $name = caller() . "::$_[0]"; > eval("\*$name = sub () { $_[1]; }");
Look at constant.pm for a cleaner way to do this, using a closure. > evidently the usage of DOH in the caller has already been fetched > from the symbol table (and found wanting) before the method has > been called. is there any way to defeat that? Sure, just pre-declare the sub, which happens at compile time: sub DOH(); Then you can define it at run time, however you like. Here's how to use constant.pm for what it's good at: use constant; # require would also work import constant DOH => 25; -- Frederic Briere <*> [EMAIL PROTECTED] => <[EMAIL PROTECTED]> IS NO MORE: <http://www.abacomsucks.com> <=