Perl有哪些流行的现代用途?
编辑
我应该更具体地说明。我想知道人们在大规模上(普遍)使用Perl的情况,而不是它在个人层面上可以用于什么。
Perl有哪些流行的现代用途?
编辑
我应该更具体地说明。我想知道人们在大规模上(普遍)使用Perl的情况,而不是它在个人层面上可以用于什么。
在我的大学中,Perl广泛用于生物信息学任务。主要涉及文件格式的自动更改、与数据库的检查以及将结果转换回来等操作。因此,它主要用于更改文件格式、正则表达式和处理大型数据集。
一如既往:实现不可能的事情。 ;-)
除了Python之外,我公司的系统管理员也喜欢使用它来完成自动化任务。 "如果一件事值得做,就值得自动化"似乎是他们的口头禅,如果可以用五行代码实现,那就更好了。
对这个问题有点困惑。针对编码来说,我认为更好的提问方式是:Perl没有用在哪些领域?我的回答是:写设备驱动程序,还有其他吗?
Perl被用于GUI应用(如Padre),互联网应用(如Catalyst),其他网络/套接字(如POE),访问数据库(如DBI),密码学(如Crypt命名空间),Web服务(如SOAP),处理二进制格式(pack/unpack)等等…
当然,它也可以用于各种文本处理。
这只是我最近使用它所涉及到的内容。
我目前正在使用Perl编写自动化测试套件,用于公司的网站(使用WWW::Mechanize
和WWW::Selenium
)。我的一个同事正在为其他类型的服务器做同样的工作。我们还将其用于我们的监控软件(Nagios)。我每天都会将perl
用作命令行工具,以帮助进行基本的系统管理员任务。
尝试将终端大小设置为至少120x50,你会恍然大悟;)
#
sub j(\$){($
P,$V)= @_;while($$P=~s:^
([()])::x){ $V+=('('eq$1)?-32:31
}$V+=ord( substr( $$P,0,1,""))-74} sub a{
my($I,$K,$ J,$L)=@_ ;$I=int($I*$M/$Z);$K=int(
$K*$M/$Z);$J=int($J*$M /$Z);$L=int($L*$M/$Z); $G=$
J-$I;$F=$L-$K;$E=(abs($ G)>=abs($F))?$G:$F;($E<0) and($
I,$K)=($J,$L);$E||=.01 ;for($i=0;$i<=abs$E;$i++ ){ $D->{$K
+int($i*$F/$E) }->{$I+int($i*$G/$E)}=1}}sub p{$D={};$
Z=$z||.01;map{ $H=$_;$I=$N=j$H;$K=$O=j$H;while($H){$q=ord
substr($H,0,1,"" );if(42==$q){$J=j$H;$L=j$H}else{$q-=43;$L =$q
%9;$J=($q-$L)/9;$L=$q-9*$J-4;$J-=4}$J+=$I;$L+=$K;a($I,$K,$J,$ L);
($I,$K)=($J,$L)}a($I,$K,$N,$O)}@_;my$T;map{$y=$_;map{ $T.=$D->{$y}
->{$_}?$\:' '}(-59..59);$T.="\n"}(-23..23);print"\e[H$T"}$w= eval{
require Win32::Console::ANSI};$b=$w?'1;7;':"";($j,$u,$s,$t,$a,$n,$o
,$h,$c,$k,$p,$e,$r,$l,$C)=split/}/,'Tw*JSK8IAg*PJ[*J@wR}*JR]*QJ[*J'.
'BA*JQK8I*JC}KUz]BAIJT]*QJ[R?-R[e]\RI'.'}Tn*JQ]wRAI*JDnR8QAU}wT8KT'.
']n*JEI*EJR*QJ]*JR*DJ@IQ[}*JSe*JD[n]*JPe*'.'JBI/KI}T8@?PcdnfgVCBRcP'.
'?ABKV]]}*JWe*JD[n]*JPe*JC?8B*JE};Vq*OJQ/IP['.'wQ}*JWeOe{n*EERk8;'.
'J*JC}/U*OJd[OI@*BJ*JXn*J>w]U}CWq*OJc8KJ?O[e]U/T*QJP?}*JSe*JCnTe'.
'QIAKJR}*JV]wRAI*J?}T]*RJcJI[\]3;U]Uq*PM[wV]W]WCT*DM*SJ'. 'ZP[Z'.
'PZa[\]UKVgogK9K*QJ[\]n[RI@*EH@IddR[Q[]T]T]T3o[dk*JE'. '[Z\U'.
'{T]*JPKTKK]*OJ[QIO[PIQIO[[gUKU\k*JE+J+J5R5AI*EJ00'. 'BCB*'.
'DMKKJIR[Q+*EJ0*EK';sub h{$\ = qw(% & @ x)[int rand
4];map{printf "\e[$b;%dm",int(rand 6)+101-60* ($w
||0);system( "cls")if$w ;($A,$S)= ($_[1], $
_[0]);($M, @,)= split '}';for( $z=256
;$z>0; $z -=$S){$S*= $A;p @,} sleep$_
[2];while ($_[3]&&($ z+=$ S) <=256){
p@,}}("". "32}7D$j" ."}AG". "$u}OG"
."$s}WG" ."$t","" ."24}(" ."IJ$a"
."}1G$n" ."}CO$o" ."}GG$t" ."}QC"
."$h}" ."^G$e" ."})IG" ."$r",
"32}?" ."H$p}FG$e}QG$r". "}ZC"
."$l", "28}(LC" ."" ."".
"$h}:" ."J$a}EG". "$c"
."}M" ."C$k}ZG". "$e"
."}" ."dG$r","18" ."}("
."D;" ."$C" )}{h(16 ,1,1,0
);h(8, .98,0,0 );h(16 ,1,1,1)
;h(8.0 ,0.98,0, 1); redo}###
#written 060204 by
#liverpole @@@@@@@
#@@@@@@@@@@@
最近,我写了一个简短、简单的脚本来解析日志文件中的一些数据。对于快速编写脚本任务来说,我发现它非常容易和有用。