#!/usr/bin/perl use strict; use warnings; my $dref = \&new_date; my $fref = \&new_date_append; # call function foo, print different types of date foo ($dref); foo ($fref); sub new_date { my ( $year, $month, $day ) = (localtime)[ 5, 4, 3 ]; sprintf( "%04d%02d%02d", ( $year += 1900 ), $month + 1, $day ); } sub new_date_append { my $date = new_date(); return "OhioS___$date"; } sub foo { my $date_fn = shift; print $date_fn->(),"\n"; }