# New Ticket Created by Zoffix Znet # Please include the string: [perl #131856] # in the subject line of all future correspondence about this issue. # <URL: https://rt.perl.org/Ticket/Display.html?id=131856 >
Originally taken from: https://stackoverflow.com/questions/45527881/why-does-and-affect-perl-6-junctions-differently For example, there's a difference between output of using `+` and using `~` with a Junction. With `+` you get a junction back, while `~` slurps and just .Strs (which .perls) the Junction: <Zoffix__> put any( 1, 3, 7 ) + 1; <Zoffix__> m: put any( 1, 3, 7 ) + 1; <camelia> rakudo-moar a91ad2: OUTPUT: «any(2, 4, 8)» <Zoffix__> m: put any( <h H> ) ~ 'amadryas'; <camelia> rakudo-moar a91ad2: OUTPUT: «any("h", "H")amadryas» The reason is the `~` has a slurpy candidate, while `+` doesn't: Junction as just an arg: <Zoffix__> m: sub foo (+@a) { @a.join: '|' }; say foo <h H>.any, 'amadryas' <camelia> rakudo-moar a91ad2: OUTPUT: «any("h", "H")|amadryas» <Zoffix__> m: sub foo (*@a) { @a.join: '|' }; say foo <h H>.any, 'amadryas' <camelia> rakudo-moar a91ad2: OUTPUT: «any("h", "H")|amadryas» Junctioned call: <Zoffix__> m: sub foo ($a, $b) { ($a, $b).join: '|' }; say foo <h H>.any, 'amadryas' <camelia> rakudo-moar a91ad2: OUTPUT: «any(h|amadryas, H|amadryas)» There are two question: 1) Is it possible to make slurpies junct, same as non-Mu scalar candidates? 2) If not, what do we do to make interface consistent; so that all the ops do the same thing?