跟我学Perl(二)

转载 2006年06月16日 11:37:00

顺便说说一些指示代码

 写完美无缺的代码对我来说有一些不切实际。在过去的一些场合,我写了些“write-only”代码,这将使任何试着读它的变成不同的颜色。我经常尝试着提高水平,我真的希望看到这个想法得以实现。
空白——tab和space键——在Perl中受到了忽略,也就是说,它是无所谓有无所谓无的。正因为这一点,你能格式化你的Perl代码来表达你正想要表达的思想,举个比较简单的例子;
@boats=(“Aloa”,“Cheoy Lee”,“Pearson”,“Mason”,Swem,“Westsail”,“S2”,“Petersen”, “Hereshoff”);#海船的名单列表。
这个例子中,我们用一些海船的名字填入数组“@boats”中,下面的例子也许更加容易理解:

@array=(“Aloa”,#法国OSTAR/IOR的船
“Cheoy Lee”,#舒适但是昂贵
“Pearson”,#结实但是笨重
“Mason”,#设计良好,但有些雍肿
“Swan”,#上等船只,如果你是大款
“Westsail”,Westsail在双尾船里算是相当不错了
“S2”,#漂亮的海湾船只——但不适宜远洋
“Petersen”, #钢铁巡洋舰,宽敞但援慢
“Hereshott”,#快速而华丽,狭窄而昂贵

 这个习惯不仅仅在Perl中得到应用。绝大多数的现代语言允许附加空白,这样可以使代码更加易懂。当我写这个系列文章的时候,我将尽最大努力示范至少我自己认为好的代码样式的版本。同时也希望每一个人在创建他们自己的代码时认真考虑这件事。


变量

Perl里,易用性非常重要的。它是一种被称作“格式宽松”的语言,其中变量的定义并没有严格要求。实际上,没有什么方法可以定义32位的浮点数变量。
Perl中有三种变量,它们分别是标量型变量(Scalars),数组型变量(arranys)和散列表(hashes),除了这些颇令人头疼的名字,他们其实都很简单:仅仅包含一些数据的不同排列而已。

标量型变量——数字,字符串和引用
一个标量型变量由$标志来表示,例如$nuru,$joe,$pointer。
例:
“0.0421”,“Joe’s gloue”,内存地址“0Xa000”

数组型变量——联系数字标识的标量型变量的列表或者说集合
一个数组型变量由@标志来表示,例如@v,@list,@variable
例:
0-----“Sundary”
1-----“Mondeny”
2-----“Tuesday”
3-----“Wednesday”

散列表——标量型列表的引用键
一个散列表变量由%标志来表示,例如%people,%x,%this_is_a_hash。
例:
ridcnt ——“Sherlock Holmes”
addr——“221B Backer Street”
code—“NW1”
city—“Londen”
country—“Steuth”
……
注意,虽然数组型变量是按数字顺序存储的,但散列表却不是——恢复散列表的第一个元素的往往和你载入的第一个元素毫无关联。散列的元素通过文本键代替它们在结构中的位置来进行索引。
利用这三种数据类型,你可以表示你想要的任何事,并且会很轻松的实现。
另外很重要的一点:$a,@a 和%a三者之间完全毫无关联,他们处在不同的名字空间。我在设计程序时,尽量小心不使用这些在视觉容易产生混淆的名字。特别是像$a[0](数组@a的第一个元素的引用)这种变量已经存在的情况下——这的确是你需要注意的。
可以给变量赋不同类型的值——数字型和字符串——我们下一步将进行有关两种类型的共同的操作。Perl为你提供这些,但应该记住哪些类型的用哪些操作符。
Operator Num Str
等于 == eql
不等于 != ne
小于 < Lt
大于 > gt
小于等于 <= le
大于等于 >= ge
当通过比较这些字母或字符串之后会觉得他们异常容易记忆和使用——比较字符的时候,就使用字符。

相关文章推荐

跟我学CMD实战系列之二 ——数据压缩备份

需求: 每天下班时,将本地硬盘上的projects目录压缩为rar文件,文件名中必须含有当天日期信息,例如projects_20070902.rar. 分析: 1. 压缩可以调用WinRAR...
  • xhhjin
  • xhhjin
  • 2012年03月02日 13:20
  • 1235

跟我学Linux(二)-- 帐号管理

Linux 操作基本全是命令行,但却有不少人热忠于命令行,今天一起学习一下帐号管理的相关命令 不论由本机还是远程登录linux系统,每个人都应该有一个拥有自己的帐号,并且对于不同的资源拥有不同的权力...

跟我学plsql - 定义变量 (二)

This I will continue to intruduce the PLSQL:     Guidelines for Declaring and initializing PL/SQL...

跟我学汇编(二)王爽汇编环境搭建

这一次我们来讲解一下如何在window上搭建一个王爽教材中所用的汇编环境。王爽的书中用的是8086CPU,现在的CPU肯定是不一样啦,所以我们使用虚拟机来模拟一下。一、下载系统我们采用MS-DOS7....

【跟我学Apache Commons】【二】Lang&Math

1.commons-lang3-3.4 1.1 目录结构如下图 1.2 包结构 1.3 org.apache.commons.lang3 AnnotationUtils- ArrayUtil...

Java程序员从笨鸟到菜鸟之(八十六)跟我学jquery(二)大话jquery选择器

本篇博客我将带大家来学习一下jquery的第一个比较重要的知识点,这个知识点对学习jquery的同学来说是必须掌握的,因为他是所有操作的基础,这个知识点就是jquery的对象选择器,我们利用jquer...

【跟我学Apache Commons】【二】Lang&Math

原文:http://blog.csdn.net/u011179993/article/details/ 1.commons-lang3-3.4 1.1 目录结构如下图 ...
  • sqzhao
  • sqzhao
  • 2015年10月29日 23:07
  • 386

跟我学jquery(二)大话jquery选择器 .

本篇博客我将带大家来学习一下jquery的第一个比较重要的知识点,这个知识点对学习jquery的同学来说是必须掌握的,因为他是所有操作的基础,这个知识点就是jquery的对象选择器,我们利用jquer...

跟我学Android之二 第一个程序

一:四大核心组件 Activity(活动)      是Android应用中负责与用户交互的组件 Service(服务)      Service通常位于后台运行,它一般不需要与用户交互,因此Ser...

跟我学jquery(二)大话jquery选择器

本篇博客我将带大家来学习一下jquery的第一个比较重要的知识点,这个知识点对学习jquery的同学来说是必须掌握的,因为他是所有操作的基础,这个知识点就是jquery的对象选择器,我们利用jquer...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:跟我学Perl(二)
举报原因:
原因补充:

(最多只允许输入30个字)