my函数在perl官方文档中,是这样定义的:
* my EXPR
* my TYPE EXPR
* my EXPR : ATTRS
* my TYPE EXPR : ATTRS
A my declares the listed variables to be local (lexically) to the enclosing block, file, or eval. If more than one value is listed, the list must be placed in parentheses.
也就是说my用在封装块,文件,或者是eval中声明局部变量列表用.如果有多于一个变量值的列表, 必须他们放置在圆括号里面.例如在下面的perl中做了全局变量和局部变量的对比:
#/usr/bin/perl
# use warnings;
$x = 10;
test();
sub test{
my $x = 20;
print "The first \$x is $x.\n";
}
print "The second \$x is $x.\n";
显示结果:
The first $x is 20.
The second $x is 10.
在上面的实例中,看到了全局变量$x和局部变量$x的不同值的有效性.
在看看local:
create a temporary value for a global variable (dynamic scoping)
local为全局变量(动态范围)定义.local赋予变量的值在执行时间才有效,也就是为当前的代码块中的变量赋予一个临时值,其值有效性包括当前代码块中含有其他的程序。可以看看下面的perl程序:
#!/usr/bin/perl
#
use warnings;
use strict;
my $x=2;
$_ = "true";
{
my $x = 10;
local $_ = "false";
somesub();
}
somesub();
sub somesub{
print "\$x is $x\n";
print "\$_ is $_\n";
}
显示结果:
$x is 2
$_ is false
$x is 2
$_ is true
尽管有$x = 10 这条语句,但仅仅对从 "my $x = 10;" 到 "somesub();"这块造成影响. 局部变量会考虑它的实际内容,而不是按照顺序执行.所以当我们调用somesub时,其实$x的值还是2.
不过,一般不推荐使用local定义局部变量.
work, study, life ..........
Wednesday, April 15, 2009
Subscribe to:
Post Comments (Atom)

41 comments:
Happy New Year 2010........................................
我們不是因為快樂而歌唱,而是唱歌使我們快樂..................................................
對物要珍惜,對事要盡心,對人要感恩。..................................................
若對自己誠實,日積月累,就無法對別人不忠了。........................................
Birth is much but breeding is more. 加油! ........................................
Cool blog網愛聊天室色情網站交友找啦咧免費影片成人笑話成人圖庫sexy女同志聊天室愛戀情人用品情趣爽翻天咆哮小老鼠入口85cc6k脫衣人妻sexy85c脫光光taiwansex淫女情色成人男女做愛美女做愛脫衣秀a片正妹淫蕩色情後宮040185c85c77p2p77p2p性幻想手淫18禁
wonderful...................................................
人間好話,要如海綿遇水牢牢吸住......................................................
文章很棒~感謝!!..................................................
Cool blog網愛聊天室色情網站交友找啦咧免費影片成人笑話成人圖庫sexy女同志聊天室愛戀情人用品情趣爽翻天咆哮小老鼠入口85cc6k脫衣人妻sexy85c脫光光taiwansex淫女情色成人男女做愛美女做愛脫衣秀a片正妹淫蕩色情後宮040185c85c77p2p77p2p性幻想手淫18禁
與其爭取不可能得到的東西,不如善自珍惜運用自己所擁有的 ..................................................
志不立,天下無可成之事。......................................................
看後受益良多,謝謝∪ˍ∪........................................
謝謝你的分享,真的太用心了≧﹏≦........................................
失去金錢的人,失去很多;失去朋友的人,失去更多;失去信心的人,失去所有。.........................
人生是故事的創造與遺忘。............................................................
愛情是盲目的,但婚姻恢復了它的視力。......................................................
Many a true word is spoken in jest...................................................................
真是太有道理了~~我支持你~~~.................................................................
知識可以傳授,智慧卻不行。每個人必須成為他自己。......................................................................
生存乃是不斷地在內心與靈魂交戰;寫作是坐著審判自己。......................................................................
It takes all kinds to make a world.............................................................
It takes all kinds to make a world.............................................................
支持你就對了!..................................................................
好文章就值得回響,如果可以常常看到您的更新,應該是件很幸福的事情~~............................................................
好地方!下次再來看~~加油!期待............................................................
分享是件快樂的事!!感謝您用心的文章!! ............................................................
很以有啟發性的故事阿~感謝大大分享^^......................................................
thank you so much~~ SUPPORT!!............................................................
Man proposes, God disposes..................................................................
Accept that some days you are the pigeon, and some days you are the statue.............................................................
人類的聰明,並非以經驗為依歸,而是以接受經驗的行程為依歸。..................................................
Pay somebody back in his own coin...................................................................
男女互悅,未必廝守終生,相愛就是美的。............................................................
唯有用熱情、用智慧去觀察事物,這事物才會把他的秘密,洩漏給我們............................................................
愛情不是慈善事業,不能隨便施捨。......................................................................
一個人的價值,應該看他貢獻了什麼,而不是他取得了什麼......................................... ........................
上來打聲招呼,祝你一切平安!............................................................
河水永遠是相同的,可是每一剎那又都是新的。..................................................
我新來的~大家可交個朋友嗎(・ˍ・).....................................................
河水永遠是相同的,可是每一剎那又都是新的。........................................
Post a Comment