http://www.perlmonks.org?node_id=80945


in reply to Re: Re (tilly) 4: Exegesis 2 - Perl 6
in thread Exegesis 2 - Perl 6

Well, the biggest problem with using + for concatenate in Perl is that it introduces ambiguity. Consider:

print "Enter a number: "; chomp(my $num1 = <STDIN>); print "Enter another number: "; chomp(my $num2 = <STDIN>); print "$num1 + $num2 is ", $num1 + $num2, "\n";

Right now, the + means numerical addition so Perl converts those strings read in from STDIN to numbers, adds them, and converts the result back to a string to print it. In other words, now the operator (+ or .) imposes context (numeric or string) on its operands. Would you prefer having to do explicit type declarations or casting to provide context to the operator?