FWIW, это также print 4 x 4
в Perl.
В общем, в Perl операторы мономорфны, т.е. у вас есть различные наборы операторов для семантики строк, для числовой семантики, для побитовой семантики и т. д., где это имеет смысл, и тип операндов в значительной степени не имеет значения. Когда вы применяете числовой оператор к строке, строка сначала преобразуется в число, и вы получаете запрошенную операцию (например, умножение), а когда вы применяете строковый оператор к числу, она превращается в строку, и вы получить операцию, которую вы просили (например, повторение). Perl обращает внимание на оператора в первую очередь, а типы операндов - только во-вторых - если он действительно обращает на них внимание.
Это противоположность Python и большинства других языков, где вы используете один набор операторов, а типы операндов определяют, какую семантику вы фактически получите - т.е. операторы полиморфны.