Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7592749
  • 博文数量: 368
  • 博客积分: 9600
  • 博客等级: 上校
  • 技术积分: 18875
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-01 00:00
文章分类

全部博文(368)

文章存档

2017年(9)

2016年(19)

2015年(3)

2014年(6)

2013年(8)

2012年(78)

2011年(66)

2010年(135)

2009年(44)

分类: LINUX

2010-09-07 10:12:37

  从标准输入设备读取数据是很容易的,我们已经从第一课上就使用操作符了。例如:
   $name=;

  在数组环境中,可把所有剩余的行作为一列表返回。如:
   @name=;

  此时,需要读入多行,然后再对各行分别处理。通常做法是:
   while($_=){
    chop($_);
    #处理$_(每一行)
   }

  上述程序可简化为:
   while(){
    chop; #等同于chop($_)
    处理$_(每一行)
   }

  因为$_是许多操作符的缺少变量。


  读取输入的另一种方法是使用<>。<>是从Perl程序命令行所指定的文件中读取数据。例如有个文件名为pro1的程序:
   #!/usr/bin/perl;
   while(<>){
    print $_;
   }

  在UNIX环境中运行:
   pro1 file1,file2,file3

  此时,将依次读入文件file1,file2,file3中的每一行,然后显示输出。



  Perl用print和printf向标准输出设备输出。
  print操作符使用字串列表作为参数,依次把每个字符串发送给标准输出,在发送时不插入或改变任何字符。如:

   print "网上学园"."欢迎您!" #打印"网上学园欢迎您!"
   print 1+2,"你好" #打印"3你好"

  printf操作符用于格式化输出,在C语言中有相同的功能。它使用一个参数表,第一个参数是格式控制字符串,它定义了如何打印其余参数。例如:

   printf "%10s% 8d%8.2f\n",$a,$b,$c

  它的打印结果为:10个字符宽度的$a,空格,8个字符宽度的整数$b,8个字符宽度且包含两位小数的浮点数$c,最后换行。

  注意:与前面操作符相类似,printf()的括号可以省略。

阅读(7117) | 评论(1) | 转发(3) |
给主人留下些什么吧!~~

chinaunix网友2010-09-09 10:45:51

Download More than 1000 free IT eBooks: http://free-ebooks.appspot.com