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 |