in reply to A twisty little maze of ampersands, all different

G'day haj,

++ That's very interesting. Using

perl -MO=Deparse,p -E 'sub one {1} sub two {2} say <ampersand-part>'

I get:

one&two : say one(&two); &one&two : say &one & two(); &one&&&two : say &one && &two; &&&one&&&two : &two if say $_ and &one;

Just for completeness, each of those is preceded by:

use feature 'current_sub', 'bitwise', 'evalbytes', 'fc', 'postderef_qq +', 'say', 'state', 'switch', 'unicode_strings', 'unicode_eval'; sub one { 1; } sub two { 2; }

and ends with:

-e syntax OK

And I'm using 5.34.0.

— Ken