Chinaunix首页 | 论坛 | 博客
  • 博客访问: 174083
  • 博文数量: 28
  • 博客积分: 536
  • 博客等级: 中士
  • 技术积分: 285
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-10 21:00
文章分类

全部博文(28)

文章存档

2013年(2)

2012年(22)

2011年(4)

分类: Python/Ruby

2012-11-10 01:11:50

3 points:
1.在預設情況下,所有 Perl 的變數都是全域變數(Global Variables),所以在函數中也可以引用其他變數,只要在呼叫此函數前,此變數已經被定義即可。


点击(此处)折叠或打开

  1. #!/usr/bin/perl

  2. use warnings;
  3. use strict;

  4. my $value='value1';

  5. &get_value;

  6. sub get_value {
  7. print "\$get_value: $get_value\n";
  8. }

  9. ---------------------------------------
  10. output:

  11. $get_value: value1

2.在函數內引用全域變數,並不是很理想,容易造成除錯上的困難。另一個比較好的辦法,則使函數 有自己的引數(Arguments),因此我們可以將不同的變數送入函數來進行運算。Perl 函數的內定引數是一個名為「@_」陣列,我們可以利用此陣列來讀取送入此函數的變數值。


点击(此处)折叠或打开

  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4. my $value='value1';

  5. &print_value($value);
  6. sub print_value {
  7. my ($get_value)=@_;
  8. print "\$get_value: $get_value\n";
  9. print "the Global Variables \$value:$value\n";
  10. }
需要指出的是,获取参数的方法有以下几种,第一种是上面的方式,第二种是

点击(此处)折叠或打开

  1. my $get_value=shift;
还有

点击(此处)折叠或打开

  1. my get_value=@_[0];
3.變數 @_ 對函數來說是局部變數(Local Variable),若在函數定義之外另有一個全域變數 @_,則在進入此函數時,全域變數 @_ 的值會被保留起來,所有對變數 @_ 的存取會由局部變數 @_ 所取代,直到函數結束,局部變數 @_ 消失,全域變數再出現,並恢復其原先值。

额,其实还是基础木有打牢。



阅读(3415) | 评论(0) | 转发(0) |
0

上一篇:mysql alter table

下一篇:perl CGI之表单

给主人留下些什么吧!~~