printf FILEHANDLE FORMAT, LIST printf FORMAT, LIST |
打印解释,通过指定的格式格式到当前输出文件句柄值的列表LIST,或一个指定的文件句柄。
实际上相当于打印FILEHANDLE的sprintf(FORMAT,LIST)
您可以使用printf打印的情况:如果你并不需要一个特定的输出格式。
以下是公认的格式转换。
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也支持,有选择地调整输出格式的标志。这些被指定%和转换字母。它们显示在下面的表中:
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 *. |
0 - 失败
1 - 成功
试试下面的例子:
#!/usr/bin/perl -w #by www.gitbook.net printf "%d\n", 3.1415126; printf "The cost is \$%6.2f\n",499; printf "Perl's version is v%vd\n",%^V; printf "d\n", 20;
这将产生以下结果:自己可尝试更多的选择。
3
The cost is $499.00
Perl's version is v
0020