7

Perl 有哪些流行的当代用途?

编辑

我应该更具体。我想知道更多的是大规模(流行)人们使用 Perl 的目的,而不是它在个人层面上的用途

4

14 回答 14

14

作为一种胶水语言,系统管理员的语言,现在,它又回到了使用Catalyst接管互联网。

于 2009-06-09T03:47:34.697 回答
13

在我的大学,Perl 被广泛用于生物信息学任务。自动更改 Proteindata 文件的格式,检查将结果转换回的数据库等等。所以它主要是改变文件格式、正则表达式和解析巨大的数据集

于 2009-06-09T04:55:01.533 回答
10

一如既往:把不可能变成可能。;-)

于 2009-06-09T03:48:09.580 回答
8

与 Python 一起,我公司的系统管理员喜欢它来驱动自动化任务。“如果某事值得做,那就值得自动化”似乎是一句口头禅,如果他们能在五行内完成,那就更好了。

于 2009-06-09T03:48:15.180 回答
8

这个问题的问题在于 Perl 是一种非常通用的语言。在代码高尔夫和它与 awk/sed 的相似性之间,它仍然被广泛用作系统管理员任务的胶水语言和快速入门语言。

使用CPAN可以快速编写许多非常有用和更高级的东西。

它与数据库很好地连接,并且有大量的网页设计框架。它与 Ajax 配合得很好,正如我在自己使用它时所注意到的那样。

进入最佳实践,您将拥有一个非常擅长执行大型编程任务的系统。哎呀,整个 cpan 证明了 Perl 的可重用性和封装性。

在http://jobs.perl.org/上查看雇主正在寻求的技能。

于 2009-06-09T03:51:14.760 回答
7

有点被这个问题弄糊涂了。用于编码。

我认为它会更好地表述为:Perl 不用于什么?我会回答:编写设备驱动程序,还有人知道吗?

它用于 gui 应用程序(参见 Padre)、Internet 应用程序(Catalyst)、其他网络/套接字(POE)、访问数据库(DBI)、密码学(Crypt 命名空间)、Web 服务(SOAP)、处理二进制格式(打包/解包) ...

当然还有各种文本处理方式。

这就是我最近使用它的东西。

于 2009-06-09T19:51:52.040 回答
6

Amazon 和 IMDB 使用 Perl,更具体地说是 Mason、IIANM。

于 2009-06-09T11:55:47.050 回答
5

我目前正在使用 Perl 为我公司的网站编写一个自动化测试套件(使用WWW::MechanizeWWW::Selenium)。我的一位同事正在为其他类型的服务器做同样的事情。我们还将它用于我们的监控软件(Nagios)。我perl每天都使用命令行工具来帮助完成基本的系统管理任务。

于 2009-06-09T16:47:51.883 回答
4

我最近写了一个简短的脚本来解析日志文件中的一些数据。我发现它对于快速编写脚本任务非常简单且有用。

于 2009-06-09T03:46:32.123 回答
4

网站、数据处理/提取、系统管理、任务自动化,甚至 GUI 编程。数学、生物信息学、化学、地质学课程。

于 2009-06-09T16:22:05.720 回答
4

尝试在终端尺寸设置为至少 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                                  @@@@@@@
                    #@@@@@@@@@@@
于 2009-06-09T12:04:15.270 回答
4

通过查看提交给Enlightened Perl Iron Man Challenge的帖子,您可以了解很多关于人们当前使用 Perl 所做的事情。

就个人而言,我目前正在使用它为(又一个)启用 AJAX、Twitterfied 等社交网络启动的网站构建网站。

于 2009-06-09T12:11:57.750 回答
2

在我的公司,我们曾经使用 Perl 运行数百个 RegEx,将随机出版商文件转换为 SGML 以制作电子书。唉,那些日子已经过去了,我们已经将我们的系统更新为 XML 书籍。

于 2009-06-09T05:06:45.077 回答
0

我将Perl用于它的设计目的:一种从原始数据中提取有用信息并将它们呈现在人类可读的报告中的实用方法。对于这项任务,这是一个非常好的语言。

于 2009-11-05T12:46:09.103 回答