perl进阶中文版 第一章 介绍

翻译尊重原版,以自己的方式最大化地阐述原版内容。

更多内容请访问www.from0701.com。每周更新两章。

欢迎来到perl学习的下一阶段。你来这儿的理由可能是你想编写100行以上的代码或者仅仅是你的老板要求你这么做。 我们的《perl语言入门》如此伟大是因为他介绍了如何用perl编写中小型程序(在我们看来,这是perl最普遍的用途)。但是为了不让我们的“小骆驼书”太厚重,我们有意并且小心地移除了很多内容。 接下来,我们将用和小骆驼书一样的风格去继续我们的故事。这儿包含了编写100-10000行(也许更多)代码所需要的知识。 例如,你可以学会怎样通过编写可复用的perl模块在一个项目中加入多个程序。这是伟大的,除非你每天工作35个小时,不让你就需要他人的帮助去完成较大的任务。在大型项目中你还得确保各个部分代码的通用性。 这本书还会告诉你如何处理复杂的数据结构,像是我们可能随意说出的“多维哈希”或者“哈希数组”。一旦你掌握了一点关于引用的知识,你就踏上了处理复杂数据结构之路,这会让你的生活轻松许多。 我们还会简单介绍一下面向对象的编程,这个能让你的代码多次使用。 团队编程的重要方面是版本控制和单元测试。你将学习最基本的程序打包和单元测试。 正像我们在小骆驼书中承诺的一样,我们将以有趣的例子来吸引你。尽管我们把Fred,Barney,Betty和Wilma送回家了,新的人物会成为我们的明星角色。

我们应该已经知道什么?

我们假设你已经读了小骆驼书,而且至少是第五版,或者至少假装你做了,并且你已经做了足够的练习去掌握这些基本知识。举例来说,你不会在本书中看到关于如何选取数组元素或者从子函数返回值的解释。 确保你已经掌握了一下内容,所有这些小骆驼书里都有:

  • 怎样在你的系统中运行一个perl程序
  • 基本的perl变量类型:标量,数组和哈希
  • 控制结构,像是while,if,for和foreach
  • 子程序
  • 基本的正则表达式
  • 列表操作符,像是grep,map,sort和print
  • 文件控制像是文件打开,文件读取,-X(文件测试)

你可能会在本书中看到关于这些话题更深的讨论,但是我们假设你已经知道这些基本知识。 本书最后部分讨论发布和贡献程序到CPAN。你首先需要申请一个PAUSE账号,网址:http://pause.perl.org/pause/query?ACTION=request_id.

strict and warnings

我们在小骆驼书中介绍了strict和warnings,并且我们希望你们在所有代码中使用。你在本书中看到的大部分代码都默认打开了strict和warnings,所以我们省去了这些重复代码,就像我们省去#!/usr/bin/perl(perl解释器位置)一样。当我们演示一个完整的程序的时候,我们也会把这些包含在内。 你也许想做我们做的事。你可以打开一个包含通用代码的模版,而不是从头编辑。在你开发自己模版,完成标准文档,找到你做事的最佳方式之前,你可以使用一个简单的,假定一下代码包裹着你的程序: #!/usr/local/bin/perl

use strict;

use warnings;

__end__

perl v5.14

本书顺应perl5.14及其后续版本的新特征而更新。通常,语言的底层在每个版本都很稳定。我们使用的一些模块可能更新了,特别是那些随perl一起发布的模块。因此我们通常展示perl最基本的观点,仅仅简单浏览模块,你在使用模块前应该查看模块参考手册。 一些新特性需要我们明确声明使其也适用于较早的版本。最早的方式是告诉perl我们需要使用哪个版本。数字5.014需要在小数点后有三个数字:

use 5.014;

say "Hello World";

你也可以写成以下两种形式:

use v5.14.2;

use 5.14.2;

无论何时,我们要用到一些特定版本的特征来编写代码,我们都会插入use v5.14.2这样的行来确保该特征可用。如果可能我们也会展示一个老版本可用的代码。我们认为发布于2002年的perl 5.8是每个人应该使用的最早版本。通常,我们会尽力去写出一个尽可能在较多版本运行的代码,但是我们也希望像你一样与时具进。 想要了解关于perl5.14的更多内容,请参考小骆驼书第六版。

时间: 2024-11-09 07:19:24

perl进阶中文版 第一章 介绍的相关文章

The Book of CSS3 中文版 第一章:介绍CSS3

在这一章,为了展示本书所用的代码约定我会介绍一些新的CSS3属性,但在此之前我想简要说明下CSS3的历史.很想然你不需要为了使用CSS3去了解它的历史,但是我认为有一些关于CSS3当前状态的背景是很重要的. CSS3是一个在变化的规范.规范的一部分被认为是稳定的并且在现代浏览器中得到了很好的实现:规范的另一部分应当作实验性的并且被部分地不同程度的实现:还有一部分则仍然是理论上的提议,并且没有得到任何实现.一些浏览器创建了它们自己的CSS属性,这些属性不属于任何CSS3规范也许将来也不会添加进去.

Solr In Action 中文版 第一章(一)

1.1我到底需要一个搜索引擎吗? 第一章           Solr 简介 本章速览: ·搜索引擎处理的数据特性 ·常见搜索引擎用例 ·Solr核心模块介绍 ·选择Solr的理由 ·功能概述 伴随着社交媒体.云计算.移动互联网和大数据等技术的高速发展,我们正迎来一个令人激动的计算时代.软件架构师们开始面对的主要挑战之一,便是如何处理全球巨大的用户基数所产生及使用的海量数据.此外,用户们开始期待在线软件应用永远都是稳定可用的,并且能够一直保持响应,这对应用就提出了更高的可扩展性和稳定性需求.为了

Solr In Action 中文版 第一章 (二)

Solr到底是什么? 在本节中,我们通过从头设计一个搜索应用来介绍Solr的关键组件.这个过程将有助于你理解Solr的功能,以及设计这些功能的初衷.不过在我们开始介绍Solr的功能特性之前,还是要先澄清一下Solr并不具有的一些性质: 1)  Solr并不是一个像Google或是Bing那样的web搜索引擎 2)  Solr和网站优化中经常提到的搜索引擎SEO优化没有任何关系 好了,现在假设我们准备为潜在的购房客户设计一个不动产搜索的网络应用.该应用的核心用例场景是通过网页浏览器来搜索全美国范围

Solr In Action 中文版 第一章(四、五)

1.1             功能概览1. 4 最后,让我们再按照下面的分类,快速的过一下Solr的主要功能: ·用户体验 ·数据建模 ·Solr 4的新功能 在本书中,为你的用户提供良好的搜索体验会一直贯穿全书的主题.所以我们就从用户体验开始,看看Solr是如何让你的用户感觉到爽的. 1.4.1             用户体验类功能 Solr提供了一系列的重要功能来帮助你搭建一个易用的,符合用户直觉的,功能强大的搜索引擎.不过你需要注意的是Solr仅仅是提供了类REST风格的HTTP AP

Solr In Action 中文版 第一章(三)

3.1              为什么选用Solr? 在本节中,我们希望可以提供一些关键信息来帮助于你判断Solr是否是贵公司技术方案的正确选择.我们先从Solr吸引软件架构师的方面说起. 3.1              软件架构师眼中的Solr 在评估一项新技术时,软件架构师必须要考虑一系列的因素,其中就包括系统的稳定性,可伸缩性,还有容错性.Solr在这三方面的得分都很不错. 说到稳定性,Solr是一个由活跃的开源社区和经验丰富的代码提交者共同维护的一项成熟技术.Solr和Lucene的

Java Persistence with MyBatis 3(中文版) 第一章 MyBatis入门

本章将涵盖以下话题: ž  MyBatis是什么? ž  为什么选择MyBatis? ž  MyBatis安装配置 ž  域模型样例 1.1 MyBatis是什么 MyBatis是一个简化和实现了Java数据持久化层(persistencelayer)的开源框架,它抽象了大量的JDBC冗余代码,并提供了一个简单易用的API和数据库交互. MyBatis的前身是iBATIS,iBATIS于2002年由ClintonBegin创建.MyBatis 3 是iBATIS的全新设计,支持注解和Mapper

第一章—介绍

和所有其他并发书籍一样这本书开头也是列举了自增运算符在多并发场景下的可能出现的错误. 原子性: 对于自增运算,现代的任何一个计算机都会把这个操作实现成三步:从内存加载数据到寄存器,增加寄存器中的数据,然后再把增加之后的数据写入到内存. 如果我们的计数器初始值是0的话,在正常情况下,当两个线程执行完成之后,我们会得到2.但是如果一个现在在另一个线程执行第三步之前率先执行了第一步的话,两个线程都会往内存存入1,这样另一个线程的增加就会被丢失掉(不会得到2). 同步是一门用来防止程序进行错误交叉执行路

python 第一章 介绍-1.python特点.

一.Python特点 开源免费 脚本语言,解析执行 跨平台 高级语言,面向对象,可扩展,可移植性用于在不同的平台(因为Python是用C写的,又由于C的可移植性) 内存管理器在Python中,由于内存管理是由Python解释器负责的,所以开发人员就可以从内存事物中解放出来,全神关注于直接目标.解释性语言,不需要编译,连接成可执行的exe文件代码 Google后台就是用Python写的,现在国内大型软件公司的后台基本 它的特点如下: ------------------------- 1.高级编程

Tensorflow官方文档中文版——第一章

第一示例: import tensorflow as tf import numpy as np x_data=np.float32(np.random.rand(2,100))#随机输入 y_data=np.dot([0.1,0.2],x_data)+0.3#点乘 b=tf.Variable(tf.zeros([1])) W=tf.Variable(tf.random_uniform([1,2],-1,1))#-1到1之间的均匀分布中取出值构成[1*2]的矩阵 y=tf.matmul(W,x_