diff options
author | Father Chrysostomos <sprout@cpan.org> | 2014-10-02 22:38:27 -0700 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2014-10-11 00:10:15 -0700 |
commit | d39c26a657753cddffc8cb3dbd2aaa929b2c78fe (patch) | |
tree | e3061d7ad6cb247565e7ce16a74db2eddc5a07e7 /cop.h | |
parent | 5a36b2c090849e18b86c1759887c5bcebd598113 (diff) | |
download | perl-d39c26a657753cddffc8cb3dbd2aaa929b2c78fe.tar.gz |
foreach \$var
Some passing tests are still marked to-do. We need more tests still.
Diffstat (limited to 'cop.h')
-rw-r--r-- | cop.h | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -761,7 +761,9 @@ struct block_loop { ((c)->blk_loop.itervar_u.oldcomppad \ ? (CxPADLOOP(c) \ ? CxITERVAR_PADSV(c) \ - : &GvSV((c)->blk_loop.itervar_u.gv)) \ + : isGV((c)->blk_loop.itervar_u.gv) \ + ? &GvSV((c)->blk_loop.itervar_u.gv) \ + : (SV **)&(c)->blk_loop.itervar_u.gv) \ : (SV**)NULL) #define CxLABEL(c) (0 + CopLABEL((c)->blk_oldcop)) @@ -980,6 +982,7 @@ struct context { /* private flags for CXt_LOOP */ #define CXp_FOR_DEF 0x10 /* foreach using $_ */ +#define CXp_FOR_LVREF 0x20 /* foreach using \$var */ #define CxPADLOOP(c) ((c)->blk_loop.my_op->op_targ) /* private flags for CXt_SUBST */ |