Chinaunix首页 | 论坛 | 博客
  • 博客访问: 134871
  • 博文数量: 18
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 435
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-23 10:53
文章分类
文章存档

2009年(9)

2008年(9)

我的朋友
最近访客

分类:

2008-06-26 15:49:24

HOT PERL ONLINERS
 
   # run contents of "my_file" as a program
   perl my_file
   # run debugger "stand-alone"
   perl -d -e 42
   # run program, but with warnings
   perl -w my_file
   # run program under debugger
   perl -d my_file
   # just check syntax, with warnings
   perl -wc my_file
   # useful at end of "find foo -print"
   perl -nle unlink
   # simplest one-liner program
   perl -e 'print "hello world!\n"'
   # add first and penultimate columns
   perl -lane 'print $F[0] + $F[-2]'
   # just lines 15 to 17
   perl -ne 'print if 15 .. 17' *.pod
   # in-place edit of *.c files changing all foo to bar
   perl -p -i.bak -e 's/\bfoo\b/bar/g' *.c
   # command-line that prints the first 50 lines (cheaply)
   perl -pe 'exit if $. > 50' f1 f2 f3 ...
   # delete first 10 lines
   perl -i.old -ne 'print unless 1 .. 10' foo.txt
   # change all the isolated oldvar occurrences to newvar
   perl -i.old -pe 's{\boldvar\b}{newvar}g' *.[chy]
   # command-line that reverses the whole file by lines
   perl -e 'print reverse <>' file1 file2 file3 ....
   # find palindromes
   perl -lne 'print if $_ eq reverse' /usr/dict/words
   # command-line that reverse all the bytes in a file
   perl -0777e 'print scalar reverse <>' f1 f2 f3 ...
   # command-line that reverses the whole file by paragraphs
   perl -00 -e 'print reverse <>' file1 file2 file3 ....
   # increment all numbers found in these files
   perl i.tiny -pe 's/(\d+)/ 1 + $1 /ge' file1 file2 ....
   # command-line that shows each line with its characters backwards
   perl -nle 'print scalar reverse $_' file1 file2 file3 ....
   # delete all but lines beween START and END
   perl -i.old -ne 'print unless /^START$/ .. /^END$/' foo.txt
   # binary edit (careful!)
   perl -i.bak -pe 's/Mozilla/Slopoke/g' /usr/local/bin/netscape
   # look for dup words
   perl -0777 -ne 'print "$.: doubled $_\n" while /\b(\w+)\b\s+\b\1\b/gi'
   # command-line that prints the last 50 lines (expensively)
   perl -e 'lines = <>; print @@lines[ $#lines .. $#lines-50' f1 f2 f3 ...

#HTML to text cenvertion
cat index.htm | perl -ne 's/\<[^<]*\>//g ;print $_'
#Email ID validation
perl -ne 'print "valid\n" if $_ =~ /\w\@\w+\.\w+[a-z]$/ ;' /dev/stdin
#To print number of lines in a file
perl -e $#lines+1,"\n";' filename
#Another way to count number of lines in a file
perl -nle 'END { print $. }' filename
阅读(1309) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~