【问题标题】:What are the popular, contemporary uses for Perl?Perl 有哪些流行的当代用途?
【发布时间】:2009-06-09 03:42:33
【问题描述】:

Perl 在现代流行的用途是什么?

编辑

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

【问题讨论】:

  • 这应该是社区维基

标签: perl popularity


【解决方案1】:

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

【讨论】:

  • 哇,催化剂,看起来很棒!
  • 那是因为它很棒! ;)
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    一如既往:将不可能变为可能。 ;-)

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

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

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

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

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

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

        【讨论】:

          【解决方案6】:

          对这个问题有些困惑。用于编码。

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

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

          当然还有各种文本处理。

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

          【讨论】:

            【解决方案7】:

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

            【讨论】:

              【解决方案8】:

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

              【讨论】:

                【解决方案9】:

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

                【讨论】:

                  【解决方案10】:

                  尝试在终端尺寸设置为至少 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                                  @@@@@@@
                                      #@@@@@@@@@@@
                  

                  【讨论】:

                  • 这是 Perl 一直以来的使用场景——极客艺术 :-)
                  【解决方案11】:

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

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

                  【讨论】:

                    【解决方案12】:

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

                    【讨论】:

                      【解决方案13】:

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

                      【讨论】:

                        【解决方案14】:

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

                        【讨论】:

                          猜你喜欢
                          • 2010-10-13
                          • 1970-01-01
                          • 2011-04-16
                          • 2014-07-29
                          • 1970-01-01
                          • 2011-04-19
                          • 1970-01-01
                          相关资源
                          最近更新 更多