yesn 发表于 2018-9-1 06:30:30

perl语言入门(4)

# \b边界针对的是\w组成的单词。  while是一行一行的读入,而foreach是全部读入。
  while.foreach都有$_
  3.printf格式化输出
  print示例:
  my @array = qw/a b c d e/;
  print @array,"\n"; #只打印元素没有空格
  print "@array";    #数组元素间用空格隔开
  一般情况下输出会先送到缓冲区.
  格式 printf "%s test %d\n",$user,$days;
  # 格式字符串个数=变量个数
  数组和printf
  my @items = qw(wilama dino pebb);
  my $format = "%10s\n" x @items;
  printf $format,@items;
  4.文件句柄
  最好大写,6个特殊文件句柄STDIN,STDOUT,STDERR,DATA,ARGV,AGVOUT
  打开文件句柄
  open LOG, "dino";#默认从dino读入
  open LOG, ">dino";# 追加
  ## >,>> 若果文件不存在就创建.
  close LOG #关闭文件句柄
  5.die处理严重错误
  die输出指定信息,并且程序立刻终止,返回不为0的退出码.
  并且打印出错的程序名和行号.如果在die信息尾加\n,则不打印.
  if (! open LOG, ">dino") {
  die "Cannot create file: $!"
  #die "Cannot create file: $!\n"
  }
  ## $!系统出错信息比方permission denied
  6.使用文件句柄
  if (! open LOG, "/etc/passwd") {
  die "hello,($!)";
  }
  while () {
  print "$_";
  }
  # 默认每个文件的行都是字符串+\n
  print OUT "first";
  print OUT ("second");
  # 结果firstsecond
  7, print默认输出到STDIN
  改变文件句柄
  select OUT;
  # 默认输出到文件句柄时都会经过缓冲
  # $| =1 立刻刷新缓冲区
  print "first";
  # 文件句柄改回STDOUT
  select STDOU;
  8. 文件句柄复用
  如果打开了句柄OUT,又打开了同名的句柄OUT,则先前的会自动关闭
  复用默认的文件句柄
  if (! open STDOUT, ">fuyong") {
  die "heloo,$!\n";
  }
  print "test STDOUT repeat.\n";
  ## 还不知道怎么还原STDOUT
  9. 使用say来输出,要在perl5.10声明use 5.010;才能使用say
  say函数和print函数差不多,但是会在每行输出的结尾自动加上换行符。

页: [1]
查看完整版本: perl语言入门(4)