Perl的基本输入输出

发表于:2007-07-04来源:作者:点击数: 标签:
从S TD IN输入 从标准输入设备读取数据是很容易的,我们已经从第一课上就使用<STDIN>操作符了。例如: $name=<STDIN>; 在数组环境中,可把所有剩余的行作为一列表返回。如: @name=<STDIN>; 此时,需要读入多行,然后再对各行分别处理。通常做法是: w

 

  从STDIN输入
  
  从标准输入设备读取数据是很容易的,我们已经从第一课上就使用<STDIN>操作符了。例如:
  $name=<STDIN>;
  在数组环境中,可把所有剩余的行作为一列表返回。如:
  @name=<STDIN>;
  此时,需要读入多行,然后再对各行分别处理。通常做法是:
  while($_=< STDIN>){
  chop($_);
  #处理$_(每一行)
  }
  上述程序可简化为:
  while(<STDIN> ){
  chop; #等同于chop($_)
  处理$_(每一行)
  }
  因为$_是许多操作符的缺少变量。

  从<>输入

  读取输入的另一种方法是使用<>。<>是从Perl程序命令行所指定的文件中读取数据。例如有个文件名为pro1的程序:
  #!/usr/bin/perl;
  while(<>){
  print $_;
  }
  在UNIX环境中运行:
  pro1 file1,file2,file3
  此时,将依次读入文件file1,file2,file3中的每一行,然后显示输出。

  向STDOUT输出

  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()的括号可以省略。

原文转自:http://www.ltesting.net