跟我学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
当通过比较这些字母或字符串之后会觉得他们异常容易记忆和使用——比较字符的时候,就使用字符。

跟我学Perl(三)

  以前我总是给出具体的例子,但这次给你们出一道足以使你们头发变白,身心疲惫的难题: #!/usr/bin/Perl # A Political evaluation script $a=“A1” $...
  • Hank_Huang
  • Hank_Huang
  • 2006年06月16日 11:39
  • 1070

跟我学Perl(一)

如果你曾经使用过Linux,无论时间长短,都必定听说过Perl;甚至可能在不知道的情况下运行了不少perl的脚本。很多服务程序,象“inews”、“mirror”、“debconf”、“majordo...
  • Hank_Huang
  • Hank_Huang
  • 2006年06月16日 11:35
  • 1537

跟我学JAVA -- 让你的程序更动人

  Java语言提供了对各种多媒体的良好支持,在本章中我们将学习如何在你的Java语言程序中处理图像、声音、字体等资源,让你的程序更加有趣。   11.1 图像   传授新知   与其它编程语言不一样...
  • wnfc0729
  • wnfc0729
  • 2006年04月24日 15:23
  • 1113

《跟我学Shiro》PDF完结版下载

历经三个月左右时间,《跟我学Shiro》系列教程已经完结,暂时没有需要补充的内容,因此生成PDF版供大家下载。最近项目比较紧,没有时间解答一些疑问,暂时无法回复一些问题,很抱歉,不过可以加群(3341...
  • qq_26562641
  • qq_26562641
  • 2016年11月02日 09:24
  • 1387

一、《跟我学spring3》电子书下载地址:

《跟我学spring3》  (1-7 和 8-13) http://jinnianshilongnian.iteye.com/blog/pdf     跟我学spring3系列 word原...
  • u013851082
  • u013851082
  • 2016年12月12日 09:34
  • 1038

跟我学写makefile

陈皓 概述 —— 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professio...
  • flyingleo1981
  • flyingleo1981
  • 2012年12月11日 17:06
  • 1111

跟我学写Makefile

CentOS, 本地服务器,ip: 192.168.1.111 Ubuntu, 远程服务器,ip: 192.168.1.112 1.拷贝远程服务器的目录到本地服务器 远程服务器192.168.1.1...
  • tianmo2010
  • tianmo2010
  • 2013年06月20日 19:52
  • 1342

跟我学Shiro(转 写的超级好)

原文地址 :http://jinnianshilongnian.iteye.com/blog/2018398   点击下载《跟我学Shiro》教程PDF版。学习...
  • sundehui01
  • sundehui01
  • 2016年07月05日 17:24
  • 395

perl操作二进制文件方法

1. 打开句柄,设置为bin模式 open(GIF, $gifname)         or die "can't open $gifname: $!"; open(GIFOUT, ">$gif...
  • bruce_wang_janet
  • bruce_wang_janet
  • 2011年08月17日 22:09
  • 2789

跟我学python(5)---自动化测试(一个32销售员的自学之路)

今天是学习python ,做博客的第五天,比较疲倦。 但是依旧要就绪哦。 ## 知识点 - nose是什么? - pypi的知识## 困惑# 自动化测试...
  • qq_21058949
  • qq_21058949
  • 2015年05月06日 09:28
  • 358
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:跟我学Perl(二)
举报原因:
原因补充:

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