Skip to Content
Perl语言入门(第8版)
book

Perl语言入门(第8版)

by Randal L. Schwartz, brian d foy, Tom Phoenix
October 2022
Beginner to intermediate
390 pages
7h 5m
Chinese
Southeast University Press
Content preview from Perl语言入门(第8版)
124
6
不止于此,
Perl
的理念是不要让人做多余的事。由于表示键的字符串一般都用简单的
词,所以胖箭头左侧的键可以直接省略引号:
my %last_name = (
fred => 'flintstone',
dino => undef,
barney => 'rubble',
betty => 'rubble',
);
当然,也不是所有情况下都可省略。如果会产生歧义,比如键名是看起来像某个
Perl
操作符的话,就必须使用引号。比如下面的代码中,放在胖箭头左边的
+
是加法操作
符,没有使用引号的话就会导致编译错误:
my %last_name = (
+ => 'flintstone', #
错了!编译错误!
);
一般我们选用的键都是非常简单的字符串,如果键名只是由字母、数字和下划线组
成,并且不以数字开头,那就可以省略引号。我们将这类无需引号的字符序列称为裸
字(
bareword
),因为它是孤立存在的。
还有一个常见允许省略键名引号的地方是:定义在花括号中的键名。比如原来
$score{'fred'}
可以直接简写为
$score{fred}
。由于许多哈希键名都是这类简单
的单词,所以不加引号的写法几乎成了惯例。但要注意,如果花括号内不是裸字,
Perl
就会将其当作表达式先求值,然后把结果当作键名。比如,对于下面的
.
Perl
认为进行字符串连接操作:
$hash{ bar.foo } = 1; #
构成键名
'barfoo'
哈希操作函数
为了对哈希进行各种数据处理,
Perl ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Go程序设计语言

Go程序设计语言

艾伦A. A.多诺万, 布莱恩W. 柯尼汉
Perl语言入门

Perl语言入门

Randal L. Schwartz, brian d foy, Tom Phoenix

Publisher Resources

ISBN: 9787576602036