#!/usr/bin/env perl # use strict; use warnings; package Soldier; use overload '0+' => \&truncate, 'int' => \&my_int; my $soldier1 = { NAME => 'BENJAMIN', RANK => 'PRIVATE', SERIAL => 151.11 }; bless $soldier1; print int($soldier1), "\n"; sub truncate { print "sub truncate called: ", $_[0]->{SERIAL}, "\n"; return $_[0]->{SERIAL}; } sub my_int { print "sub my_int called: ", $_[0]->{SERIAL}, "\n"; return int($_[0]->{SERIAL}); }