diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 1999-05-09 20:23:07 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1999-05-09 20:23:07 +0000 |
commit | 8efb3254a3038b56a803e45ffac89f07da99a3a7 (patch) | |
tree | b17fcab85e46b26db6a01b7cc18ced7f54f47958 /pp_hot.c | |
parent | febd60db78d69754497d8360da8c221b5cd2747b (diff) | |
download | perl-8efb3254a3038b56a803e45ffac89f07da99a3a7.tar.gz |
allow readline($globref), <$globref> already works
p4raw-id: //depot/perl@3349
Diffstat (limited to 'pp_hot.c')
-rw-r--r-- | pp_hot.c | 10 |
1 files changed, 3 insertions, 7 deletions
@@ -204,19 +204,15 @@ PP(pp_readline) { tryAMAGICunTARGET(iter, 0); PL_last_in_gv = (GV*)(*PL_stack_sp--); - if (PL_op->op_flags & OPf_SPECIAL) { /* Are called as <$var> */ - if (SvROK(PL_last_in_gv)) { - if (SvTYPE(SvRV(PL_last_in_gv)) != SVt_PVGV) - goto hard_way; + if (SvTYPE(PL_last_in_gv) != SVt_PVGV) { + if (SvROK(PL_last_in_gv) && SvTYPE(SvRV(PL_last_in_gv)) == SVt_PVGV) PL_last_in_gv = (GV*)SvRV(PL_last_in_gv); - } else if (SvTYPE(PL_last_in_gv) != SVt_PVGV) { - hard_way: { + else { dSP; XPUSHs((SV*)PL_last_in_gv); PUTBACK; pp_rv2gv(ARGS); PL_last_in_gv = (GV*)(*PL_stack_sp--); - } } } return do_readline(); |