I'm trying to use both autoboxing Perl functions and operator overload functions, and they don't seem to work in tandem.
Is it possible that I lack some nuance about how to use overload correctly, or is this some kind of odd behavior with deviations?
Code example:
use strict;
use warnings;
package overload_me;
use overload('+' => "overloaded_add");
sub overloaded_add{
my ($me, $him) = @_;
$me+$him+1;
}
use autobox NUMBER => 'overload_me';
my $autoboxing_test = 4->overloaded_add(5);
my $overloading_test = 4 + 5;
print "Autoboxing test: 4+5=$autoboxing_test
Overloading test: 4+5=$overloading_test\n";
Test output:
Autoboxing test: 4+5=10 Overloading test: 4+5=9
source
share