Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
The sprintf function takes the same arguments as
printf (except for the optional
filehandle, of course), but it
returns the requested string instead of printing it. This is handy if
you want to store a formatted string into a variable for later use, or
if you want more control over the result than printf alone would provide:
my $date_tag = sprintf
"%4d/%02d/%02d %2d:%02d:%02d",
$yr, $mo, $da, $h, $m, $s;
In that example, $date_tag gets
something like "2038/01/19 3:00:08".
The format string (the first argument to sprintf) used a leading zero on the format
number, which we didn’t mention when we talked about printf formats in Chapter 5. The leading zero on the format number
means to use leading zeroes as needed to make the number as wide as
requested. Without a leading zero in the formats, the resulting
date-and-time string would have unwanted leading spaces instead of
zeroes, looking like "2038/ 1/19 3: 0:
8".