in reply to Override the open builtin globally
When I use a lexical (open $file, ...) I get undef into $_[0].
Did you put a value into $file before passing it to open? Then why are you expecting something other than undef?