Perl语言学习体会2(语言基础篇)

续前篇。

1)   Perl语言中任何需要变量的地方都可以使用赋值运算来代替。从而使得程序更简洁,我个人理解是也同时使得程序更难理解。如下:

chomp($txt=<STDIN>);

$tex=<STDIN>;

chomp($txt);

他们的功能是一致的都是,读入文字,略过最后的换行符。

2)   Perl语言的变量内插。好邪恶啊。所谓变量内插呢,就是说再用print等输出操作时,“”里面可以加入变量,此时变量仍然会被解析成该变量的值,而不是符号$加变量名。如:

$name=”额加油”;

Print “我的名字是$name\n”:

此时输出的是“我的名字是额加油”,而不是“我的名字是$name\n”。这就是变量内插了。需要注意的是双引号才会变量内插,单引号是不会的。

3)   say与print的区别,say会别print多输出一个换行符。

4)   Perl的文件输出,输入很给力,一句话就搞定了。

open TEST,’>.\test.txt’;#这样依据忽而就搞定了输出

 

open TEST,’<.\test.txt’;

say TEST ‘我的名字是’.$name;#这样就搞定了输出

 

当然别忘了最后关闭文件。

5)   Perl中的软引用和硬引用。软引用就是相当于替换的作用,也相当于宏的作用。如下:

$name=’ice’;

$$name=’大冰块’;

Print $name.’<>’.$ice.’<>’.$$name;

此时输出的是:ice<>大冰块<>大冰块

硬引用就和指针一样,是获得了变量的地址,直接对变量进行操作。Perl使用“\”的方式创建硬引用,使用“$”加硬引用变量名的方式使用硬引用。如下:

$name=’ice’;

$refname=\$name;

Say $refname;

say $name;

say $$refname;      

$$refname=’big ice’;

Say $name;

Say $$refname;

输出结果为:

SCALAR(0x182a6f4)

ice

ice

big ice

big ice

可见$refname其实就是$name的地址。硬引用可以用来当做子程序的返回值使用,如:

Sub add($add1,$add2,$result)

{

              $result=$add1+$add2;

}

$res;

add(5,5,\$res);

Print $res;

输出结果为 10

6) 清空数组、哈希表使用undef

posted @ 2012-03-30 17:15  你是猴子请的救兵么  阅读(299)  评论(0编辑  收藏  举报