Gurusamy Sarathy <gsar@ActiveState.com> wrote > The run time lookup of the lexical's name in PL_comppad_name looks > like the problem. PL_comppad_name is not usually set to the executing > sub's pad at run time. It's value is valid only during compile time. It's certainly specific to that use of a lexical. Both of the following work fine: %perl -w my $a; open $a, '/etc/passwd' or die "open:$!\n"; print <$a>; __END__ %perl -w open $a, '/etc/passwd' or die "open:$!\n"; print <$a>; __END__ Mike Guy