printf [filehandle] format, list
Prints a
formatted string of the elements in list to 
filehandle or, if omitted, the
currently selected output filehandle. This
is similar to the C library's printf and
fprintf functions, except that the
* field width specifier is not supported. The function is
exactly equivalent to:
print filehandle sprintf(format, list);
printf and sprintf use the same format syntax, but
sprintf only returns a string; it doesn't print to a
filehandle. The format string contains text with embedded field specifiers
into which the the elements of list are substituted in order, one
per field. Field specifiers follow the form:
A percent sign begins each field, and%m.nx
x is the type of field.
The optional m gives the minimum field width for appropriate
field types (negative m left-justifies). 
The .n gives the precision for a specific
field type, such as the number of digits after a decimal point for floating-point
numbers,
the maximum length for a string, and the minimum length for an integer.Field specifiers (x) may be the following:
| Code | Meaning | 
|---|---|
% | Percent sign | 
c | Character | 
d | Decimal integer | 
e | Exponential format floating-point number  | 
E | Exponential format floating-point number with uppercase E  | 
f | Fixed-point format floating-point number  | 
g | Floating-point number, in either exponential or fixed decimal notation  | 
G | Like   | 
ld | Long decimal integer | 
lo | Long octal integer | 
lu | Long unsigned decimal integer | 
lx | Long hexadecimal integer | 
o | Octal integer | 
s | String | 
u | Unsigned decimal integer | 
x | Hexadecimal integer | 
X | Hexadecimal integer with uppercase letters | 
p | The Perl value's address in hexadecimal | 
n | Special value that stores the number of characters output so far into the next variable in the parameter list  |