|
小弟菜鸟一个,正在看北南兄的置顶帖子 perl教程(今天开始看的呵呵),发现创建引用变量那块把我弄糊涂了
以下是教程内容的引用:
引用(1):
#!/usr/bin/perl
$value = 10;
$pointer = $value;
printf "n Pointer Address $pointer of $value n";
printf "n What Pointer *($pointer) points to $$pointern";
结果输出如下:
Pointer Address SCALAR(0x806c520) of 10
What Pointer *(SCALAR(0x806c520)) points to 10
每次运行,输出结果中的地址会有所改变,但可以看到$pointer给出地址,而$$pointer给出$variable的值。
引用(2):
1 #!/usr/bin/perl
2 #
3 # Using Array references
4 #
5 $pointer = @ARGV;
6 printf "n Pointer Address of ARGV = $pointern";
7 $i = scalar(@$pointer);
8 printf "n Number of arguments : $i n";
9 $i = 0;
10 foreach (@$pointer) {
11 printf "$i : $$pointer[$i++]; n";
12 }
运行结果如下:
$ test 1 2 3 4
Pointer Address of ARGV = ARRAY(0x806c378)
Number of arguments : 4
0 : 1;
1 : 2;
2 : 3;
3 : 4;
我知道这和C语言很类似,引用(1)中的$pointer = $value; 这句话不是把value的值赋给pointer变量吗??
引用(2)中的$pointer = @ARGV; 这时变量pointer是数组array的一个引用???还是值为数组个数(3)的一个普通简单变量??
请高手指点一下 |
|