Perl Cookbook 阅读笔记 1

最近一直在读《perl cookbook》,发现了很多特性,这里介绍下如何在双引号中进行表达式计算的方式:

在字符串中进行运算
1
2
3
4
5
$answer = $var1 . func() . $var2;

$answer = "$var1${\(func())}$var2";

$answer = "$var1@{[func()]}$var2";                 #推荐~

第一种方式最容易接受的,不过本人比较喜欢第三种。为什么?因为比较帅嘛~

按照个人的理解:双引号中可以被解析的针对变量的符号有$,@\。这里{}用于选择变量的范围,被引用的地方可以做计算,最后利用相应的$@符号解引用。

最后贴一个书上的例子,看到这个瞬间觉得碉堡了…..Orz

碉堡的代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
die "couldn't send mail" unless send_mail(<<"EOTEXT", $target);

To: $naughty

From: Your Bank

Cc: @{[ get_mamager_list($naughty) ]}

Date: @{[ do { my $now = `date`; chomp $now; $now}]} (today)



Dear $naughty,



Today, you bounced check number @{[ 500 + int rand(100) ]} to us.

Your account is now closed.



Sincerely,

the management

EOTEXT

Comments