Syntax
printf FILEHANDLE FORMAT, LIST
printf FORMAT, LIST
|
Definition and Usage
Prints the value of LIST interpreted via the format specified by FORMAT to the current output filehandle, or to the one specified by FILEHANDLE.
Effectively equivalent to print FILEHANDLE sprintf(FORMAT, LIST)
You can use print in place of printf if you do not require a specific output format.
Following is the list of accepted formatting conversions.
Format |
Result |
%% |
A percent sign |
%c |
A character with the given ASCII code |
%s |
A string |
%d |
A signed integer (decimal) |
%u |
An unsigned integer (decimal) |
%o |
An unsigned integer (octal) |
%x |
An unsigned integer (hexadecimal) |
%X |
An unsigned integer (hexadecimal using uppercase characters) |
%e |
A floating point number (scientific notation) |
%E |
A floating point number, uses E instead of e |
%f |
A floating point number (fixed decimal notation) |
%g |
A floating point number (%e or %f notation according to value size) |
%G |
A floating point number (as %g, but using .E. in place of .e. when
appropriate) |
%p |
A pointer (prints the memory address of the value in hexadecimal) |
%n |
Stores the number of characters output so far into the next variable in
the parameter list |
Perl also supports flags that optionally adjust the output format. These are specified between the % and conversion letter. They are shown in the following table:
Flag |
Result |
space |
Prefix positive number with a space |
+ |
Prefix positive number with a plus sign |
- |
Left-justify within field |
0 |
Use zeros, not spaces, to right-justify |
# |
Prefix non-zero octal with .0. and hexadecimal with .0x. |
number |
Minimum field width |
.number |
Specify precision (number of digits after decimal point) for floating point numbers |
l |
Interpret integer as C-type .long. or .unsigned long. |
h |
Interpret integer as C-type .short. or .unsigned short. |
V |
Interpret integer as Perl.s standard integer type |
v |
Interpret the string as a series of integers and output as numbers
separated by periods or by an arbitrary string extracted from the
argument when the flag is preceded by *. |
Return Value
0 on failure
1 on success
Example
Try out following example:
#!/usr/bin/perl -w
printf "%d\n", 3.1415126;
printf "The cost is \$%6.2f\n",499;
printf "Perl's version is v%vd\n",%^V;
printf "%04d\n", 20;
|
It will produce following results: Try more options yourself.
3
The cost is $499.00
Perl's version is v
0020
| |
|