Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > 其他编程语言 > perl学习笔记8
【标  题】:perl学习笔记8
【关键字】:perl
【来  源】:http://www.cublog.cn/u/26431/showart.php?id=276377

perl学习笔记8

Your Ad Here

1.  printfsprintf格式化输出

函数printf有如下的格式化功能:

a)         圆整浮点数至十进制的某位。

b)        以小数点来对齐一列数。

c)        右对齐和左对齐输出。

d)        在输出行的准确位置插入文本字符。

e)         以指数形数来显示浮点数

f)         以八进制或十六进制的形式显示无符号的整数。

g)        用固定字段宽度和精度来显示各种标量数据。

 

printf语法格式如下:

print format-control-string, other-argument;

format-control-string参数描述了输出格式

other-argument是可选项,对应于format-control-string中的每个转换说明。每个转换说明以一个百分号开始,结束于一个转换定义符。一个format-control-string可以包含几个转换说明。

 

转换定义符

说明

%d

显示一个有正负号的十进制整数

%o

显示一个没有正负号的八进制整数

%u

显示一个无正负号的十进制整数

%x%X

显示一个无正负号的十六进制整数。大写的X表示的是0~9的数位或A~F的字母;而小写的x表明显示的是0~9的数位或者a~f的字母。

%e%E

用指数形式显示一个浮点数

%f

显示浮点数

%g%G

显示一个浮点数,要么采用浮点形式f,要么采用指数形式e

%c

将指定的字符转换成ASCII

%s

显示一个字串

%%

显示一个百分号

 

sprintfprintf的功能相同,只是sprintf返回的是已经格式化的字串,而不是输出。sprintf可以在程序内维护一个格式化的字串。

 

              printf  “%u \n”, 455;

              printf  “The string is %s \n”, $string;

              printg  “This string is %s \n”, “literal”;

 

              my $line = sprintf  “ The %s cost \$ %d \n”, $product, $price;

 

2.  输出时规定字段宽度和精度

Ø         用于输出数据的字段大小是通过字段宽度来定义的。如果字段宽度大于所要显示数据的宽度,数据一般右对齐并在前面添加一些空白字符。为了格式化字段中的数据,应在转换说明的半份好和转换定义符之间插入一位代表字段宽度的整数。

注意:如果输出值的宽度大于字串的宽度,字段的宽度自动增加;负数的减号占用字段宽度的一位。

 

       printf  “%4d \n”, 123;

 

Ø         不同数据类型,精度有不同的含义。使用整数转换定义符时,精度代表所要输出的最小数位。如果要输出的数据的位数比精度小,输出数据前自动添加0,直至位数与精度相等,整数的缺省精度是1。使用浮点转换定义符eEf时,精度代表十进制数小数后的位数。使用转换定义符gG时,精度代表所要输出数据的重要数据的最大位数。使用转换定义符s时,精度代表所要输出字串的最大字符数。使用精度时,必须在百分号和转换定义符之间依次插入圆点(。)和一个代表精度的整数。

注意:当浮点数以小于其原本十进制数位的精度输出时,输出的是圆整后的值。

              printf  “%9.3f  \n”, 123.45678;

Ø         还可以使用带有格式化控制字串的参数列表中,通过整数表达式来定义字段宽度。为此,在字段宽度或精度处(或两者)插入星号。如下:

printf  “ %*.*f ”, 7 , 2   98.376

       上式的字段宽度为7,精度为2,执行后输出98.38

       字段的宽度可以为负,但精度必须为正。字段宽度为负值会输出左对齐的数据。

 

3.  printf格式控制字串中使用旗标

 

旗标

含义

减号

让输出内容左对齐指定字段

加号

在正数前添加一个加号,在负数前添加一个减号

空格

在一个并非用+标记打印的正数前加一个空格

#

与八进制转换定义符(o)一起使用时,为输出加上一个前缀O

与十六进制转换定义符(xX)一起使用时,为输出加上前缀oxOX

在用eEfgG输出不带小数部分的浮点数种,强制加上小数点(通常只有在小数点后有1个数位时,小数点才会输出)。对于gG定义符来说,追尾的0(零)不能删除

零(0

用前肢的0来填充字段。

 

在格式化控制字串中使用旗标,应将旗标放在百分号的正右边。几个旗标可以在一个转换说明中结合使用。

 

              printf  “ % + d  \n  % + d  \n”, 786, -786;

 

 

4.  将字串作为perl代码赋值

eval函数只带一个参数(字串或代码块),并将其作为程序体中的perl代码。这个函数使编写有趣的用户交互程序成为可能。如下代码:

              eval ( $line = <STDIN>);

该行将把用户输入的字符作为Perl代码直接执行。

Eval函数返回最后一次表达式(字串或代码块)执行后的结果。如果代码块中存在语法错误或其它致命错误,eval函数返回undef并将其存在特殊变量$@中。如果不存在错误,$@置为空串。

注意:eval代码块中的严重错误不会过早的结束程序。因而,eval函数使程序更需注意运行中可能出现的各种错误,它把执行结果储存在特殊变量$@中。因而,经常使用这个函数处理异常,并将信息打印出来。

 

Tcl: 一个可嵌入的命令语言:【上一篇】
perl学习笔记7:【下一篇】
【相关文章】
  • Perl start
  • 一个perl的密码生成器
  • Win32环境下 Perl DBI安装
  • 发布一个CHyperLink类,可适应SDK和MFC
  • 在Linux系统上安装Perl DBI支持
  • PERL的资源不完全索引
  • 列出所有已安装的perl模块
  • Windows XP 下安装Perl cpan模块
  • 纠正一下对 perl 的偏见
  • Perl穷举破解表单密码的实现
  • 【随机文章】
  • 3Ds max多边形建模常用命令
  • Oracle 8i特性
  • 如何用ASP编写网站统计系统
  • 使用自建的证书服务器安装SSL(apache)笔记
  • 如何测试搜索引擎的索引量大小(前篇)
  • 利用Linux架构负载均衡(Load balancer)系统
  • 蚯蚓品种多 用途各不同
  • [文章] 几款操作系统安装全程图解 【zt】
  • 使用ADS1.2进行嵌入式软件开发
  • 戏说设计模式
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.