这是命令 perlfaq1,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
perlfaq1 - 关于 Perl 的一般问题
VERSION
5.021009版
商品描述
常见问题解答的这一部分回答了有关 Perl 的非常笼统的高级问题。
什么是 is 珀尔?
Perl 是一种高级编程语言,由 Larry Wall 编写,具有不拘一格的传统
以及数千名演员。
Perl 的进程、文件和文本操作工具使其特别适合
适用于涉及快速原型设计、系统实用程序、软件工具、系统管理的任务
任务、数据库访问、图形编程、网络和 Web 编程。
Perl 源自无处不在的 C 编程语言,并在较小程度上源自 sed,
awk、Unix shell 以及许多其他工具和语言。
这些优点使其特别受到 Web 开发人员和系统管理员的欢迎。
数学家、遗传学家、记者、经理和许多其他人也使用 Perl。
谁是 支持 珀尔? 谁是 发展 它? is it 自由?
前民粹主义互联网的原始文化和 Perl 根深蒂固的信念
作者 Larry Wall 提出了 Perl 的自由和开放的分发政策。 Perl 是
受到其用户的支持。 核心、标准 Perl 库、可选模块和
您现在正在阅读的文档都是由志愿者编写的。
核心开发团队(被称为Perl Porters)是一群高度无私的人
致力于免费生产比您希望的更好的软件的个人
花钱购买。 您可以通过档案窥探未决的进展
<http://www.nntp.perl.org/group/perl.perl5.porters/> 或阅读常见问题解答
<http://dev.perl.org/perl5/docs/p5p-faq.html>,或者您可以通过以下方式订阅邮件列表
发送 perl5-porters-subscribe@perl.org 订阅请求(一条空消息,没有
主题很好)。
虽然 GNU 项目在其发行版中包含 Perl,但并不存在“GNU
Perl”。Perl 不是由自由软件基金会生产或维护的。Perl 的
许可条款也比 GNU 软件更加开放。
如果您愿意,您可以获得 Perl 的商业支持,尽管对于大多数用户来说,非正式的支持
支持就足够了。 请参阅“在哪里可以购买商业版本的答案”
Perl?”了解更多信息。
哪 版本 of Perl的 应该 I 使用?
(由布赖恩 d foy 提供)
通常存在意见和品味问题,并且没有一个适合的答案
每个人。 一般来说,您想要使用当前的稳定版本,或者稳定版本
紧接在该之前发布。 目前,这些是 perl5.18.x 和 perl5.16.x,
。
除此之外,您还必须考虑几件事并决定哪一个最适合您。
· 如果事情没有被破坏,升级 perl 可能会破坏它们(或者至少发出新的
警告)。
· 最新版本的 perl 有更多错误修复。
· Perl 社区致力于支持最新版本,因此您将
更容易为这些人寻求帮助。
· perl5.004 之前的版本存在严重的缓冲区溢出安全问题,并且
在某些情况下,有 CERT 建议(例如,
<http://www.cert.org/advisories/CA-1997-17.html>)。
· 最新版本可能是部署最少且经过广泛测试的版本,因此您可能需要
等他们发布几个月,看看其他人有什么问题,如果你是
风险厌恶。
· 直接的、先前的版本(即 perl5.14.x )通常会维护一段时间
虽然与当前版本不在同一水平。
· 没有人积极支持 Perl 4。十年前那是一具死骆驼尸体
(根据本文件)。 现在它几乎只是一具骨架,因为它的骨头被粉刷过
断裂或侵蚀。
· 当前 Perl 6 的领先实现 Rakudo 发布了“有用的、可用的、
6 年 2010 月发布的 Perl XNUMX(称为 Rakudo Star)的“早期采用者”。请
看http://rakudo.org/>有关更多信息。
· Perl 开发实际上有两个轨道:维护版本和维护版本
实验版本。 维护版本稳定,偶数为
次要版本(即 perl5.18.x,其中 18 是次要版本)。 实验的
版本可能包含稳定版本中未包含的功能,并且具有
奇数作为次要版本(即 perl5.19.x,其中 19 是次要版本)。
什么是 旨在 Perl的 4, Perl的 5, or Perl的 6?
简而言之,Perl 4 是 Perl 5 和 Perl 6 的父级。Perl 5 是较老的兄弟,并且
尽管它们是不同的语言,但了解一种语言的人会发现许多相似之处
另一个。
Perl 后面的数字(即 Perl 5 后面的 5)是 Perl 的主要版本
解释器以及语言的版本。 每个主要版本都有重要意义
早期版本无法支持的差异。
Perl 当前的主要版本是 Perl 5,首次发布于 1994 年。它可以运行脚本
与之前的主要版本 Perl 4(1991 年 XNUMX 月)相比,但有显着差异。
Perl 6 是 Perl 的重新发明,它是一种具有相同血统但不兼容的语言。
两者是互补的,而不是相互排斥的。 Perl 6 并不是要取代 Perl 5,
反之亦然。 请参阅“什么是 Perl 6?” 请参阅下文了解更多信息。
请参阅 perlhist 了解 Perl 修订的历史。
什么是 is Perl的 6?
Perl 6 是 本来 被描述为社区对 Perl 5 的重写。开发开始
2002年; 语法和设计工作一直持续到今天。 随着语言的发展,它已经
清楚它是一种独立的语言,与 Perl 5 不兼容,但具有相同的功能
语言家族。
与普遍看法相反,Perl 6 和 Perl 5 彼此和平共处。 珀尔6
事实证明,对于那些使用 Perl 5(Moose 对象)的人来说,这是一个令人着迷的想法来源。
系统就是一个众所周知的例子)。 社区之间存在重叠,并且这种重叠
培养了共享和借用的传统,这对 Perl 的发展起到了重要作用
成功。 目前 Perl 6 的领先实现是 Rakudo,您可以了解更多
关于它在http://rakudo.org>.
如果您想了解有关 Perl 6 的更多信息,或者希望为这项运动提供帮助
Perl 是一个更好的地方,然后阅读 Perl 6 开发人员页面:http://www.perl6.org/>和
参与其中。
“我们真的很认真地想要重新发明一切需要重新发明的东西。” ——拉里·沃尔
创新中心 稳定 is 珀尔?
包含错误修复和新功能的生产版本经过了广泛的测试
释放前。 自 5.000 版发布以来,我们平均每版发布一次生产版
一年。
Perl 开发团队偶尔会对语言的内部核心进行更改,
但所有可能的努力都是为了向后兼容。
创新中心 经常 旨在 新 版本 of Perl的 被释放?
最近,计划大约每年四月发布一个新版本的 Perl,但是
正确发布比严格遵守日历日期更重要,所以
发布日期有些灵活。 历史发布日期可以查看
<http://www.cpan.org/src/README.html>.
偶数编号的次要版本(5.14、5.16、5.18)是生产版本,奇数编号
次要版本(5.15、5.17、5.19)是开发版本。 除非你想尝试一下
实验性功能,您可能永远不想安装 Perl 的开发版本。
Perl 开发团队称为 Perl 5 Porters,其组织结构如下
在http://perldoc.perl.org/perlpolicy.html>。 组织规则真的只是沸腾
归结为一:拉里总是对的,即使他错了。
Is Perl的 难 至 学?
不,Perl 很容易开始学习http://learn.perl.org/>——并且易于持续学习。
看起来您可能有使用过的大多数编程语言,所以如果
您曾经编写过 C 程序、awk 脚本、shell 脚本,甚至 BASIC 程序,
你已经成功了一半。
大多数任务只需要 Perl 语言的一小部分。 指导座右铭之一
Perl 开发是“有不止一种方法可以做到这一点”(TMTOWTDI,有时发音为
“蒂姆今天”)。 因此 Perl 的学习曲线很浅(容易学)而且很长(有
如果你真的愿意的话,你可以做很多事情)。
最后,因为 Perl 常常(但并非总是如此,当然也不是根据定义)
解释性语言,您可以编写程序并测试它们,无需中间人
编译步骤,让您可以快速轻松地进行实验和测试/调试。 这种轻松
大量的实验使学习曲线更加平坦。
让 Perl 更容易学习的东西:Unix 经验、几乎任何类型的编程
经验、对正则表达式的理解以及理解其他内容的能力
人们的代码。 如果你需要做某事,那么它可能已经完成了,
并且工作示例通常是免费提供的。 也不要忘记 Perl 模块。
本常见问题解答的第 3 部分将与 CPAN 一起讨论它们http://www.cpan.org/>,即
第 2 部分中讨论。
创新中心 不 Perl的 我们的 - other 语言 喜欢 Java Python中, 雷克斯, 方案, or 泰克?
Perl 几乎可以用于解决任何编码问题,甚至是需要集成的问题
专业的 C 代码可提高速度。 与任何工具一样,它可以用得好,也可以用得不好。 Perl 有
许多优点和一些缺点,确切地说哪些方面是好的,哪些是坏的,这往往是一个问题
个人选择。
选择语言时,您还应该受到资源的影响
<http://www.cpan.org/>、测试文化http://www.cpantesters.org/> 和社区
<http://www.perl.org/community.html> 围绕着它。
为了与特定语言进行比较,通常最好用两种语言创建一个小项目
语言并比较结果,确保使用所有资源
<http://www.cpan.org/> 每种语言,因为语言不仅仅是它的语法。
能够 I do [任务] in 珀尔?
Perl 非常灵活且可扩展,足以让您从一行中使用几乎任何任务
大型复杂系统的文件处理任务。
对于许多人来说,Perl 是 shell 脚本的一个很好的替代品。 对于其他人来说,它
作为他们在低级编程中的大部分内容的方便的高级替代品
级别语言,如 C 或 C++。 这最终取决于您(可能还有您的管理层)
哪些任务您将使用 Perl,哪些则不会。
如果您有一个提供 API 的库,您可以将其任何组件用作
只是另一个 Perl 函数或变量,使用用 C 或 C++ 编写的 Perl 扩展,并且
动态链接到你的主 Perl 解释器。 也可以往另一个方向走,
用 C 或 C++ 编写主程序,然后动态链接一些 Perl 代码,以
创建一个强大的应用程序。 见perlembed。
也就是说,总会有一些小型的、专注的、特殊用途的语言致力于某个领域。
特定的问题领域,对于某些类型的问题来说更方便。
Perl 试图成为所有人的一切,但对任何人来说都没有什么特别的。 示例
我想到的专业语言包括 prolog 和 matlab。
在规划婴儿食品行业的工艺要求时,安全性和可靠性是工艺设计中最重要的方面。 不应该 I 程序 in 珀尔?
一个很好的理由是当您已经有一个用另一种语言编写的现有应用程序时
语言已经全部完成(并且做得很好),或者您有专门的应用程序语言
为特定任务而设计(例如 prolog、make)。
如果您发现需要加速 Perl 应用程序的特定部分(不是某些东西)
你经常需要)你可能想使用 C,但你可以通过 Perl 代码访问它
Perlxs。
什么是 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 差异 之间 “perl” 和 “珀尔”?
“Perl”是该语言的名称。 只有“P”是大写的。 的名称
解释器(运行 Perl 脚本的程序)是带有小写“p”的“perl”。
您可以选择也可以不选择遵循此用法。 但千万不要写“PERL”,因为 perl 是
不是缩写。
什么是 is a JAPH?
(由布赖恩 d foy 提供)
JAPH 代表“Just another Perl hacker”,Randal Schwartz 用它来签署电子邮件和
Usenet 消息始于 1980 世纪 XNUMX 年代末。 他之前曾在很多场合使用过这个短语
主题(“只是另一个 x 黑客”),因此为了区分他的 JAPH,他开始编写它们
作为 Perl 程序:
print "又一个 Perl 黑客,";
其他人也注意到了这一点,并开始编写聪明或令人困惑的程序来
产生相同的输出,使事情快速失控,同时仍然提供
为创作者和读者带来数小时的娱乐。
CPAN 有多个 JAPH 项目http://www.cpan.org/misc/japh>.
创新中心 能够 I 说服 其他类 至 使用 珀尔?
(由布赖恩 d foy 提供)
呼吁他们的自身利益! 如果 Perl 对他们来说是新的(因此很可怕),那就找一些东西
Perl 可以解决他们的问题之一。 这可能意味着 Perl 要么保存
给他们一些东西(时间、头痛、金钱)或给他们一些东西(灵活性、权力、
可测试性)。
一般来说,语言的好处与使用语言的人的技能密切相关
那种语言。 如果您或您的团队可以通过 Perl 变得更快、更好、更强,
您将提供更多价值。 请记住,人们通常会对他们从中得到的东西做出更好的反应
它。 如果您遇到阻力,请弄清楚这些人从其他选择中得到了什么
以及 Perl 如何满足这个要求。
您不必担心寻找 Perl 或支付 Perl 费用; 它是免费提供的并且
一些流行的操作系统都带有 Perl。 社区支持,例如
佩尔蒙克斯 (http://www.perlmonks.com> ) 和各种 Perl 邮件列表 (
<http://lists.perl.org> ) 意味着您通常可以快速获得问题的答案。
最后,请记住 Perl 可能不是适合所有工作的工具。 你是一个多
如果您的主张合理且基于现实,则可以更好地倡导。 教条地
提倡任何事情都会让人们忽视你的信息。 诚实地对待可能的情况
选择 Perl 的缺点,因为任何选择都需要权衡。
您可能会发现这些链接很有用:
·http://www.perl.org/about.html>
·http://perltraining.com.au/whyperl.html>
著者 AND 版权
版权所有 (c) 1997-2010 Tom Christiansen、Nathan Torkington 和其他作者。
版权所有
本文档是免费的; 您可以在相同的条款下重新分发和/或修改它
作为 Perl 本身。
不管它的分布如何,这里的所有代码示例都在公共领域。 你是
允许并鼓励在您自己的程序中使用此代码及其任何衍生物
为了您认为合适的乐趣或利润。 代码中的一个简单注释归功于
常见问题会很有礼貌,但不是必需的。
使用 onworks.net 服务在线使用 perlfaq1