printf函数可以格式化输出字符串
用法:
printf FILEHANDLE FORMAT, LIST
printf FORMAT, LIST
例如:
printf函数先格式化字符串再输出到指定文件或当前缺省文件中,如:
printf OUTFILE (“You owe me %8.2f", $owing);此语句取出变量$owing的值并替换掉串中的%8.2f,%8.2f是域格式的例子,把$owing的值看作浮点数。
使用printf格式化输出
printf 函数有一个模板,叫格式字符串,它可以规定输出的格式,每个格式符有百分号开头,由字母结束。
格式化字符串中有3个格式符,则对应3个元素
%g 输出数字,它将根据需要自动选用浮点数,整数或者指数
%d 十进制整数 %x 十六进制 %o八进制 根据需要截尾
%f or %s 限制宽度 其中正数是右对齐,负数是左对齐
%s是针对字符串的,如%10s, %-15s
% f 针对数字的,如%12.3f (表示输出共12个字符,包括小数点,并且小数点后面只有3位数)
%% 输出百分号,不会使用后面列表中的元素
下面看一个对齐输出的例子:
[oracle@jhoa ~]$ cat s5.pl
printf "%10s
","users";
[oracle@jhoa ~]$ perl s5.pl
users
%10s 表示输出10个字符窜,不够10个的右对齐
%-10s 表示输出10个字符,左对齐
[oracle@jhoa ~]$ cat s5.pl
printf ("%-10s
","users");
[oracle@jhoa ~]$ perl s5.pl >4
[oracle@jhoa ~]$ awk '{print length}' 4
10