加载中…
正文 字体大小:

perl printf函数

(2010-02-05 16:20:35)
标签:

perl

printf

杂谈

分类: perl语言学习
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位数)

%% 输出百分号,不会使用后面列表中的元素


下面看一个对齐输出的例子:
#!/usr/bin/perl

use warnings;
use strict;

my @arr;

while(<DATA>){
         chomp;
         @arr=split;
printf "%-50s%-20s\n",$arr[0],$arr[1];
print "===================\n";

}

__DATA__
PRODUCT:NLSRTL   VERSION:10.2.0.1.0   STATUS:Production
PRODUCT:OracleDatabase10gEnterpriseEdition   VERSION:10.2.0.1.0   STATUS:Prod
PRODUCT:PL/SQL   VERSION:10.2.0.1.0   STATUS:Production
PRODUCT:TNSforLinux:   VERSION:10.2.0.1.0   STATUS:Production

输出:
PRODUCT:NLSRTL                                    VERSION:10.2.0.1.0 
===================
PRODUCT:OracleDatabase10gEnterpriseEdition        VERSION:10.2.0.1.0 
===================
PRODUCT:PL/SQL                                    VERSION:10.2.0.1.0 
===================
PRODUCT:TNSforLinux:                              VERSION:10.2.0.1.0 
===================
可能看着不齐,实际是右对齐!




0

阅读 评论 收藏 转载 喜欢 打印举报
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有