cd1 cd2 cd3 cd4 cd5 cd6
只是使用File::Find模块的find子例程来实现目录遍历,对符合条件的文件作重命名而已。
统计相关的tcp连接情况
查看ip尾数为9且端口为80的所有连接
netstat -naut|grep 9:80|perl -F's+' -alne '$F[4]=~/(.*):d+/;$F[4]=$1;$s{$F[4]}++;' -e 'END { foreach (sort {$a<=>$b} keys %s){print "$_ : $s{$_}"} }'
查看ip尾数为9且端口为80的所有连接,按连接数从多到少排列,显示前20个ip
netstat -naut|grep 9:80|perl -F's+' -alne '$F[4]=~/(.*):d+/;$F[4]=$1;$s{$F[4]}++;' -e 'END {foreach (sort {$s{$b}<=>$s{$a}} keys %s){print "$_ : $s{$_}"} }' |head -20
查看ip尾数为9且端口为80的所有连接,统计连接状态信息
netstat -naut|grep 9:80|perl -F's+' -alne '$s{$F[5]}++;' -e 'END { foreach (keys %s){chomp($_);print "$_ : $s{$_}"} }'
统计一文本文件有多少行:
perl -le 'open FILE, "file_name"; @_=<FILE>; print $.'
perl -e 'print scalar(()=<>),"n"' file_name
perl -wE'say~~(()=<>)' file_name
perl -e'print scalar(()=<>)' file_name
perl -lne 'END{print $.}' file_name
perl -le 'print $==()=<>' file_name
perl -ne 'print $. if eof' file_name
wc -l file_name
cat file_name |wc -l
more file_name |wc -l
注:经对一个包含六百多万行的文件进行处理,发现'wc -l'的效率是最好的。
其他
启动交互式perl:
perl -de 1
查看包含路径的内容:
perl -le 'print for @INC'
perl 生成随机密码
主要还是借用'rand'函数来实现。
$random = int( rand( $Y-$X+1 ) ) + $X;
下面的示例将会输出25-75之间的随机数:
$random = int( rand(51)) + 25;
print "$randomn";
The rand function returns a fractional number, from (and including) 0 up to (but not including) its argument. We give it an argument of 51 to get a number that can be 0 or more, but never 51 or more. We take the integer portion of this to get a number from 0 to 50, inclusive (50.99999.... will be turned
into 50 by int). We then add 25 to it to get a number from 25 to 75, inclusive.
从数组中随机返回元素
$elt = $array[ rand @array ];
$elt = $array[ int( rand(0+@array) ) ];
生成8位包含特殊的随机密码
@chars = ( "A" .. "Z", "a" .. "z", 0 .. 9, qw(! @ $ % ^ & *) );
$password = join("", @chars[ map { rand @chars } ( 1 .. 8 ) ]);
可以据用户
use strict;
use warnings;
sub random_pwd {
my $length = shift;









