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,29.95); my @formatted_data; ? foreach (@data) { ?????? push@formatte_data,@big_money($_); } ? sub big_money { ?????? my$number = sprintf “%.2f”,shift @_; ?????? 1while $number =~ s/^(-?d)(ddd)/$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]; ? 上述索引值将元素1、3和元素5从列表中取出,将他们按照3个元素的列表值返回。 ? ----------------------------------------------------------------------------------------------- 全书,完毕! 本人已把此学习笔记上传“我的资源”(CSDN)上,有需要可以下载学习! ????????????????????????????????? -----------xiaobin--- 2012.2.26 ?------------------------------------------------------------------完美的分割线---------- (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |