jingshen 发表于 2017-5-18 11:04:08

Perl 学习笔记 --- 16

第16章:一些高级的技术
16.1 利用eval捕获错误
  防止某程序块,促使程序崩溃。
  其形式如下:
  eval{expression};
16.2 使用grep在列表得到元素
  其形式如下:
  @ArrayName = grep{expression} 0..n
  例如:
  my @odd_numbers = grep {$_%2} 1..1000
  相当于:
  my @odd_numbers;
  foreach(1..1000) {
  push@odd_numbers, $_, if $_ % 2;
  }
16.3 使用map对列表项进行交换
  其形式如下:
  @ArrayName = map{expression}@arrayName
  例如:
  my @data = (4.75, 1.5, 2, 1234, 6.9456,12345678.9, 29.95);
  my @formatte_data = map{&big_money($_)} @data;
  等同于:
  my @data = (4.75, 1.5, 2, 1234, 6.9456,12345678.9, 29.95);
  my @formatted_data;
  foreach (@data) {
  push@formatte_data, @big_money($_);
  }
  sub big_money {
  my$number = sprintf “%.2f”,shift @_;
  1while $number =~ s/^(-?\d)(\d\d\d)/$1,$2/;
  $number=~ s/^(-?)/$1\$/;
  $number;
  }
16.4 不用双引号的hash keys
  不建议使用。
16.5 Slices
16.5.1 Array Slice
  对一个列表做索引。
  例如:
  my ($card_num, $count) = (split /:/);
  上述索引值将元素1、3和元素5从列表中取出,将他们按照3个元素的列表值返回。
-----------------------------------------------------------------------------------------------
全书,完毕!
本人已把此学习笔记上传“我的资源”(CSDN)上,有需要可以下载学习!
-----------xiaobin--- 2012.2.26

------------------------------------------------------------------完美的分割线----------
页: [1]
查看完整版本: Perl 学习笔记 --- 16