use Tie::PerFH; tie $format, 'Tie::PerFH'; @date_info = qw( 12 3 1985 ); $format = '%02d-%02d-%04d'; open FH, ">some.file" or die "some.file error: $!"; select FH; $format = '%02d/%02d/%04d'; printf $format, @date_info; close FH; select STDOUT; printf $format, @date_info;