There is no need for any additional class or method, with Perl (and most other dynamic languages) you don't need to write extra code for simple programs.

Read the definition here: perldoc.perl.org/perlop.html#Multiplicative-Operators
"Given integer operands $a and $b : If $b is positive, then $a % $b is $a minus the largest multiple of $b less than or equal to $a ." largest multiple of $b is -4, and (-3)-(-4) is 1. IMHO, 1 is more correct here than -1, but that depends on definition, Perl one is from math. AFAIK, in Python you would also get 1. In C you will get -1.