清新的Perl(二)——数据结构

一 简述

在网络上很多推荐学习“小骆驼”《Perl语言入门》来入门Perl语言。我个人观点,路子不对,小骆驼用全书四份之三的章节在讲数据结构——标量、数组、哈希,讲的太详细了,详细到看了半天,我都没明白Perl到底怎么用。简直是绕晕了。

哈哈哈,大家说说都绕晕了,能不出来说Perl学习曲线陡吗?

我在这里,凭借个人经验,把那些不常用的东西统统扔掉(想看的,后面溜了可以自己去学学)。当然了,请放心,Perl是可以实现“半部论语治天下”般的简单。

二 数据结构成员

Perl只有三种数据结构标量、数组和哈希。标量用$符号做开头,如$a $b $c;数组用@符号开头,如@a @b @c;哈希用%符号开头,如%a %b $c。

三 标量

$a = “标量是Perl语言的基础,无论是数字、字母、单词语或汉字、一长串的语句或整篇文章,都可以统统塞进去。”;

就像这个样子用。常规还如:

$b = 1;
$c = 2.0;
$d = 'a';
$e = 'Hello Perl!';
$f = '清新的Perl';

因为Perl是弱类型的语言,不用声明标量的类型,像这种方式的使用变量的还有JavaScript、Python、Lua、Ruby等语言。

总之,凡是需要处理的数据,都可以放在标量中。

四 数组

数组是做什么的?数组是一系列的标量组成列表,而且标量可以是不同的类型。具体的使用方式如下:

@hits = (25, 30, 40);
@names = ("google", "runoob", "taobao");
#数组的调用方式如下:
$hits[1] #值为25
$names[2] #值为“taobao”

在这里需要注意的是@符号仅表示数组,而数组中的单个值还是标量所以用$符号作为前缀。

五 哈希(散列)

哈希如同Python中的字典,JavaScript中的Json对象,实际上为键值对的组合。

标准的创建和赋值方式,仅需要记住一种常用的即可:

%data = ('google'=>'google.com', 'runoob'=>'runoob.com', 'taobao'=>'taobao.com');
#使用方式
$data{google} #值是"google.com"

大家也注意到了,perl赋值语句右侧的要赋值的内容,无论是数组还是散列都是以“()”包裹的。在数组中位置是用“[]”,散列中键是用“{}”。这就是Perl的赋值方式。有一点需要说明,散列中的键只能是字符串,所以‘=>’左侧、{}中的值可以不用加引号表示。

因此只需要记住,标量、数组、散列是通过$ @ %三个字符区分的。在数组和散列中获取特定的值时,数组中的位置跟其他语言一样用“[]”括起来,散列中的键要用花括号“{}”括起来。

下一篇,我将讲解标量和字符串。

标签