# New Ticket Created by Elizabeth Mattijsen # Please include the string: [perl #126423] # in the subject line of all future correspondence about this issue. # <URL: https://rt.perl.org/Ticket/Display.html?id=126423 >
[23:21:43] <lizmat> m: sub aa { for @_ { .say } }; aa 42 [23:21:43] <+camelia> rakudo-moar 009400: OUTPUT«42» [23:21:55] <lizmat> m: sub aa { if @_ { for @_ { .say } } }; aa 42 [23:21:55] <+camelia> rakudo-moar 009400: ( no output ) [23:22:15] <lizmat> m: sub aa { if @_ { say @_ } }; aa 42 [23:22:15] <+camelia> rakudo-moar 009400: OUTPUT«[]» [23:22:33] <lizmat> seems all wrong to me ? [23:24:39] <lizmat> looks like an "if @_" eats @_ ? [23:27:42] <grondilu> m: { @_ && { .say for @_ } }(42) [23:27:42] <+camelia> rakudo-moar 009400: ( no output ) [23:28:09] <grondilu> m: { @_ && "ok" }(42) [23:28:09] <+camelia> rakudo-moar 009400: ( no output ) [23:28:17] <grondilu> m: say { @_ && "ok" }(42) [23:28:18] <+camelia> rakudo-moar 009400: OUTPUT«ok» [23:28:35] <PerlJam> m: sub foo { if @_ { say "hi: @_[]" } }; foo 42; [23:28:36] <+camelia> rakudo-moar 009400: OUTPUT«hi: » [23:28:59] <grondilu> m: say { @_ && @_ }(42) [23:28:59] <+camelia> rakudo-moar 009400: OUTPUT«[42]» [23:29:14] <PerlJam> m: sub foo { say @_.WHAT }; foo 42; [23:29:14] <+camelia> rakudo-moar 009400: OUTPUT«(Array)» [23:30:01] <grondilu> m: { @_ && { .say for @_ }() }(42) [23:30:02] <+camelia> rakudo-moar 009400: ( no output ) [23:30:09] <grondilu> m: { @_ && { .say for @_ }(@_) }(42) [23:30:10] <+camelia> rakudo-moar 009400: OUTPUT«42» [23:30:37] grondilu stops pretending he has an idea of what's going on there [23:32:05] <PerlJam> m: sub foo { say @_; if @_ { say @_ } }; foo 42; [23:32:05] <+camelia> rakudo-moar 009400: OUTPUT«[42][]» [23:32:23] <PerlJam> I think it's some kind of iterator problem. [23:38:00] <PerlJam> m: sub foo { say @_; if @_ { say @_; }; say @_ }; foo 42; [23:38:00] <+camelia> rakudo-moar 009400: OUTPUT«[42][][42]» [23:38:30] <PerlJam> or ... maybe @_ is getting bound to the if's block rather than the subs block