At 19:38 23.04.2002, Perrin Harkins wrote: >Issac Goldstand wrote: >>Reposting a question (and the answer) that geoff and I discussed in the >>IRC room, as I think it's worthwhile to mention... >>I had the following line of code (actually many of the sort): >>$r->custom_response(FORBIDDEN=>"File size exceeds quota."); >>And kept getting errors like: >>[Tue Apr 23 19:46:14 2002] null: Argument "FORBIDDEN" isn't numeric in >>subroutine entry at /usr/local/httpd/lib/perl/Mine/Pic/Application.pm >>line 1343. >>The answer to the problem is that by using '=>' instead of ',', I was >>making 'FORBIDDEN' become '"FORBIDDEN"' (string instead of numeric 403). >>Moral of the story: don't use => with Apache::Constants! > >In fact, don't use constants at all. At least not the kind created by the >"use constants" pragma and similar tricks. They have all kinds of >problems like this. Use package variables instead ($FORBIDDEN). Maybe >some day Perl will have real constants, but I'm perfectly happy with >package variables in the meantime.
Well, this one is exported by Apache::Constants, so if you don't want to do $FORBIDDEN = FORBIDDEN; somewhere at the top of your code, you're bound to continue using constants, right? -- Per Einar Ellefsen [EMAIL PROTECTED]