`
xielingjiang
  • 浏览: 32888 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论
阅读更多
有空初略堆perl入门了一下,发现perl确实非常强大。
什么是Perl
这个在百度百科里面有定义,但是我想我的理解是,perl就是一个C的脚本化的语言。语法思想基本是一样的,除了一些关键字,而这些关键字及其简单,应该说是C语言关键字的简化定义和分类。说perl来源于C,又胜于C,她的主要语言特点就是尽量减少代码量。就像写了javascript以后,再去熟悉各种prototype比如JQuery一样,忽然觉得用起来是如此的简单和强大。
跟java的虚拟机形式类似,perl也可以跨平台。所有perl命令都是通过一个入口执行,与操作系统隔离,但距离有不远,随时可以越过这个入口深入系统内部,所以她很强大。

为什么用perl
我想perl不是所有场合都适合用的,因为perl毕竟是脚本语言,所以她最适合服务器端的大量琐碎的事物,肯定比写一些shell脚本容易强大的多。
如果要写一些大型的应用服务,比如web服务等,虽然可以写,但是由于她的灵活性,难以在开发成员多的情况下统一风格,维护升级。所以还是用java这些面向对象的语言让开发者有更多时间关注程序以外的东西,而且风格较为统一,容易维护升级。
如果要写一些驱动或者系统级别的服务,比如ftp服务器等。虽然可以写,但是由于她是脚本语言,还是用C语言来的快速直接。
perl就像旅行时的一把瑞士军刀,别的语言不会的,她会,别的语言会的,她更会。在我们想偷懒的时候能帮一把大忙。

如何用perl
perl脚本语法众多,不过我想关键的语法如下:
$value 代表变量
@array 代表数组()
%Hash 代表HashMap{}
&function 代表函数
此四个符号是perl的核心关键字,这些关键字的组合可以代表很多意思,因此有人把他们叫做funny charactor
另外还得提到那些跟C语言一样的符号,
比如*value,*号代表取地址,不过也可以用上述的四个符号代替实现,那就是在前面加上转义符\,比如\$value,\@array,\%Hash
比如->,是*的反过程,即解地址,比如->[0]访问数组元素,->{"key1"}访问Hash元素,->(value1,value2)访问函数(调用函数)。

除了这些还有作用域,有三种,out,my,local
根据字面就很容易理解,perl不像其他语言,perl作用域是要自己去显式的申明的,要不然解释器也不知道你到底是那个作用域的,因为毕竟是脚本语言解释型的。

还有,加上一些固定约定和强大的函数库。
比如数学函数,字符串操作函数我就不说了,大家都有,perl当然要有。
比如数组相关的函数,perl对数组操作那是极大的功能增强,常见的sort,reverse函数。
最后重点提一下进程相关函数,perl真不简单,她能提供进程的创建,运行,休眠,等待,销毁的完整生命周期的管理,还有对多线程的支持也是相当的到位。

最后,提一下关于perl对面向对象的支持,提供了package,require,this变量等类似java等面向对象语言的一些功能。虽然跟那些还稍微逊色一点,但是这正体现了perl的强大。

好了,这些都是我对perl的入门感想,如果有时间的话我一定会深入应用一下perl。
To Be Continue...

在这里我要补充感慨一下,为什么那些语言啊,新技术啊,新的idea大部分都born in America呢?其实我要谈论到一个关于什么是创新的问题上。
什么是创新,难道非要前无古人后无来者?肯定不是,一个思维方式的转变,一个知识的整合都可以是创新,而那些完全从无到有的创新,我想历史上也没有几件。国外为什么会不断出现各种新技术?如果问多问一个为什么就明白了。
任何的新技术的出现都是为了解决一个问题而出现的。而这个新技术都是基于某种前人的技术的思维方式的转变或者各种知识的整合而出现的。
就那perl来说,它不可能凭空想象出来的,如果翻开perl的历史,我们就知道,他的出现是作者在做系统维护的工程中为了解决一个问题而发起的。而当时现有的技术对于他的问题不能很好的解决,所以作者在当时最流行的C语言的基础上加入和awk等脚本语言的动态特性而发明了这个一个perl语言。当然正是这个perl的独特创新使他饱含生命力。
分享到:
评论

相关推荐

    perl-jedi:绝地网络框架

    概要绝地应用程序就像 perl 中的一个包一样简单。 您可以使用绝地启动器和配置文件初始化应用程序。 当您包含,它会自动在您的包中导入和 。 在 MyApps.pm 中: package MyApps;use Jedi::App;sub jedi_app { my ($...

    【最新版】gimp-2.10.14-x86_64.dmg【亲测可用】最好的图像软件

    GIMP赋予艺术家将图像转换成真正独特作品的力量和灵活性。 GIMP用于生成图标,图形设计元素以及用于用户界面组件和模型的艺术品。 GIMP是用于脚本图像处理的高质量框架,具有多语言支持,例如C,C ++,Perl,Python...

    luaer 基础教程 中文版 html

    若让用Java写写操作系统内核、Perl写写驱动程序、C/C++写写web应用,都无异于舍近求远,好刀只用上了刀背。 Lua本身是以简单优雅为本,着眼于处理那些C不擅长的任务。借助C/C++为其扩展,Lua可闪现无穷魅力。Lua...

    SuperPiPower:超级圆周率! 是在 Pi 上运行以打开和关闭插座的 webui

    ###超级派力量! 这是一个 perl cgi,旨在在 Raspberry Pi 上运行并打开和关闭 gpio 引脚以控制连接到插座的继电器。 它修改了 gpio linux 设备而不是使用 bcm2835 perl 库,并且是在 nginx 下使用 perl-fcgi 开发...

    EditPlus X64(文字编辑器)3.70.1186 汉化绿色版

    EditPlus(文字编辑器) 绿色汉化版一套功能...另外它也是一个非常好用的 HTML 编辑器,它除了支持颜色标记、HTML 标记,同时支持 C、C++、Perl、Java,己的力量去关注、参与公益事业。昨下午的观影结束后,王征决定将

    Lua程序设计 Programming in Lua 中文

    若让用Java 写写操作系统内核、Perl 写写驱动程序、C/C++写写web 应用,都无异于舍近求远,好刀只用上了刀背。 Lua 本身是以简单优雅为本,着眼于处理那些C 不擅长的任务。借助C/C++为其扩展,Lua 可闪现无穷魅力。...

    CollectiveVoice:Collective Voice帮助公司产生在线评论

    网络的发展使客户拥有了比以往更大的力量。 买家经常求助于客户的评价和评论,以确定他们是否信任产品,服务甚至卖家。 实际上,调查显示,购买者在决定信任一家企业之前阅读了。 但是,获得评论可能具有挑战性。 ...

    joomscan-owasp:从 joomscan-owasp 在 26022015 分叉以添加新功能

    joomscan-owasp 在 26/02/2015 从 joomscan-owasp 分叉以添加新功能什么是新的! 我只需要忽略 ssl 证书,所以我添加了新选项 (-ns) 来忽略它们。... 我不得不说我讨厌 perl,我为此感到自豪。 Py的力量!

    awesome-nginx

    随时添加您的项目:)目录知名发行OpenResty 发动机##嵌入式脚本语言a javascript Perl姆鲁比Clojure 第三模块这些模块不随Nginx源一起分发。 C模块[lua-nginx-module](https:/ * /github....

    Laurel-genes

    生物信息学2021课堂项目月桂树中殿力量数据该项目中使用的数据是来自Calder Atta的比目鱼外显子捕获数据的原始读取。 我使用的是两种:沙棘(Hippoglossoides Platesides)和Microstomus pacificus。 该项目的最终...

    fork-bomb:多种语言的叉子炸弹

    请分叉(ba dum崩溃)并贡献力量。 当前语言: 艾达集会AWK 重击批脑干C C ++ C# Linux下的C#(.Net Core) 埃尔朗财务会计准则去哈斯克尔HTML JavaJavaScript Lisp a 微软Access PHP PerlPython [R Ruby锈方案壳...

    计算机编程与法律:新的研究议程-研究论文

    通过利用计算机编程的力量,法律学者可以开发更好的工具,数据和见解,以提高他们的研究兴趣。 本文介绍了此新研究议程的案例,重点介绍了一些已开始尝试的人的例子,并提供了代码示例以展示开发用于法学奖学金的...

Global site tag (gtag.js) - Google Analytics