3 points:
1.
在預設情況下,所有 Perl 的變數都是全域變數(Global Variables),所以在函數中也可以引用其他變數,只要在呼叫此函數前,此變數已經被定義即可。
- #!/usr/bin/perl
- use warnings;
- use strict;
- my $value='value1';
- &get_value;
- sub get_value {
- print "\$get_value: $get_value\n";
- }
- ---------------------------------------
- output:
- $get_value: value1
2.
在函數內引用全域變數,並不是很理想,容易造成除錯上的困難。另一個比較好的辦法,則使函數
有自己的引數(Arguments),因此我們可以將不同的變數送入函數來進行運算。Perl
函數的內定引數是一個名為「@_」陣列,我們可以利用此陣列來讀取送入此函數的變數值。- #!/usr/bin/perl
- use strict;
- use warnings;
- my $value='value1';
- &print_value($value);
- sub print_value {
- my ($get_value)=@_;
- print "\$get_value: $get_value\n";
- print "the Global Variables \$value:$value\n";
- }
需要指出的是,获取参数的方法有以下几种,第一种是上面的方式,第二种是
还有
3.
變數 @_ 對函數來說是局部變數(Local
Variable),若在函數定義之外另有一個全域變數 @_,則在進入此函數時,全域變數 @_ 的值會被保留起來,所有對變數 @_
的存取會由局部變數 @_ 所取代,直到函數結束,局部變數 @_ 消失,全域變數再出現,並恢復其原先值。
额,其实还是基础木有打牢。
阅读(3415) | 评论(0) | 转发(0) |