wiggle room

Perl verbs provide context that define the behaviour of nouns.
Python verbs change meaning to suit the type of the noun.

The true type of perl scalars is (sort of) secret, while the true operation of python operators is (sort of) secret.


'1' . 2;  # '12' 
'1' + 2;  #   3
'1' x 2;  # '11'
'1' * 2;  #   2
'1' + 2      # raises TypeError exception (aka 'die') 
'1' + str(2) # '12'
int('1') + 2 #   3
'1' * 2      # '11'
int('1') * 2 #   2

In perl, nouns are overloaded and change meaning with context. In python, verbs are overloaded.


'a' == 0;     # 1 
'a' eq 0;     # 0
'a' == 0;     # False
int('a') == 0;     # ValueError
'a' == str(0);     # False ('a' ne '0')

BTW, True and False are subclassed from int, with values 1 and 0 in all but string context.