一些perl中实用的操作记录
-
跳过空行:
next if /^\s*$/;
-
变量内插:
my $x = 1; my $y = 2; print "$x + $y = @{[ $x + $y ]}"
-
根据值对数组下标排序:
my $max_ele_index = (sort {$data[$b] <=> $data[$a]} 0..$#data)[0];
-
定长分割字符串:
my @ret=$str=~ /.{4}/g;
必须是整倍数,否则剩余部分会被舍弃
-
格式化:
sprintf("%.3f", 0.031415);
-
返回哈希key的列表:
my @arr = keys %hash;
-
列表元素筛选:
my @ret = grep { $_ > $target } @arr;
my $num = grep { $_ > $target } @arr;
-
列表元素更改:
my @new = map {$_ eq "xx" ? $_ = "yy" : $_ } @arr;
-
单列内容保持顺序去重:
perl -ne 'print unless $h{$_}++;'
作者:天使不设防
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.