Chinaunix首页 | 论坛 | 博客
  • 博客访问: 131922
  • 博文数量: 36
  • 博客积分: 155
  • 博客等级: 入伍新兵
  • 技术积分: 282
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-27 20:57
文章分类

全部博文(36)

文章存档

2014年(1)

2013年(21)

2012年(15)

分类: PERL

2012-08-04 20:34:19

1) 模块是否安装
  1. perl -MMODULE::NAME -e 0
2) 看机器都安装了哪些模块
  1. perl -MExtUtils::Installed -le "print foreach ExtUtils::Installed->new->modules"
3) 看perl内置安装了哪些模块?

  1. perl -MModule::CoreList -le "print foreach Module::CoreList->find_modules"
4) 判断字符串还是数字?在perl语言会自动为你判断当前语境是数字还是字符串,然后自动为你转换,看以用下面的命令对$_进行判断

  1. print "$_ is a string\n" if (~$_ & $_) ne '0';
5) 素数判断(正则法)
  1. perl -lne '(1 x $_) =~ /^1?$|^(11+)?\1+$/ || print "$_ is prime"'
6) 两数互质判断(正则法)
  1. perl -e 'print "coprime\n" if "@{[1 x pop]} @{ [1 x pop] }" !~ /^(11+)\1* \1+$/' 3 4
7) select刷新缓冲

  1. select((select(SOCK), $|=1)[0]);
8) 求两数最小值

  1. [ $a => $b ] -> [ $b <= $a ];
9) 前导0替换为空格

  1. s/\G0/ /g;
10) uniq

  1. sort keys %{ { map { $_, 1 } @list } }
11) 文件每两行输出

     perl -pe 's/\n/" " . <>/e' data
12) 文件每两行输出,hack写法

  1. perl -lpe '$\=--$|?$,:$/' file;
13) 打印文件中第一列相同的前两行


点击(此处)折叠或打开

  1. perl -ane 'print if $h{$F[0]}++ < 2' file


  2. file as:

  3. A 73

  4. A 58

  5. A 43

  6. B 51

  7. B 89

  8. B 86

  9. B 1675

  10. B 39

  11. C 69

  12. D 57

  13. D 38

  14. E 36

  15. E 44

  16. E 85

  17. E 64

  18. E 103

  19. E 36

Perl对URL进行编码
转自 

用替换的方法进行解码
  1. perl -pe 's/%(..)/pack("c", hex($1))/eg' keywords.list






阅读(2734) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

努力小伙2012-08-08 14:57:57

挺新的一些hacks