use 5.020; use strict; use warnings; use overload '==' => \&my_compare; sub my_compare { my ($left, $right) = @_; my $result = ($left cmp $right) ? 0 : 1; warn $left, "|", $right; $result; } # ----------------------------------------------- my $name = 'Rara'; say (1 == 22); say ("1" == 1); say ( $name == "Rara" ); __END__ Nörgelt gleich los: Argument "Rara" isn't numeric in numeric eq (==) at T:\a.pl line 18. Argument "Rara" isn't numeric in numeric eq (==) at T:\a.pl line 18. 1 1