use Time::HiRes qw(gettimeofday tv_interval); my $TH = [gettimeofday]; sub report { print $_[0],': ',tv_interval($TH),"\n"; $TH = [gettimeofday]; } A: { ...do things... } report("A"); B: { ...do some other stuff... } report("B"); C: { ...why not more stuff here... ...and some more!... } report("C");