The parsing of such an ambiguous expression depends on the prototypes of the subroutines/functions involved.
#!/usr/bin/perl
use warnings;
use strict;
use feature qw{ say };
sub single ($) { chr $_[0] }
sub two ($$) { join "", map chr, @_ }
say for split single 32, 'a b c';
say for split two(32, 32), 'a b c';
# This fails with "Too many arguments for main:two"
say for split two(32, 32), 'a b c';
split can take more than one argument, so it greedily takes all it can.
> Unless this problem is fixed
It's not a problem, it's a documented behaviour.
map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]
|