In mod_perl a lot of perl's CORE functionality is overridden to get mod_perl scripts to exhibit a different behaviour in the Apache environment, to enable persistence across subsequent invokations, faster execution times, etc.
Perl Specifics in the mod_perl Environment from the practical mod_perl book explains why it is necessary to sometimes use CORE functions to override functions defined in the mod_perl/Apache modules.
I'm not sure why
open() isn't
CORE::open() in your case as it shouln't be the case. Maybe it helps to explicitly call the intended function.
CORE::open STDOUT, '>', '/dev/null' or ...
perl -e '$,=$",$_=(split/\W/,$^X)[y[eval]]]+--$_],print+just,another,split,hack'er