$name = 'foo_' . time() . '.bar'; or my($sec, $min, $hr, $day, $mon, $year) = (gmtime)[0..5]; $name = sprintf("foo_%04d%02d%02d.%02d%02d%02d.bar", $year + 1900, $mon + 1, $day, $hr, $min, $sec);