for my $FQDN (@things){ my $start_time = time_and_log($FQDN); # do stuff with $FQDN time_and_log($FQDN, $start_time); } #### sub time_and_log { my $FQDN = shift; my $start = shift; if (! $start){ # do start stuff $start = time; return $start; } else { # use $start for calculations, # then log } }