在perl子函数中,调用外部提供的参数时,不管是给1个参数还是给n个参数,perl子函数都会以数组的形式处理。上例是错误的,不能写成 my ($n)=$_; 而要写成 my ($n)=@_;
正确的代码为
- #! /usr/bin/perl
- sub pr {
- @a=qw/a b c d e/;
- my ($n)=$_;
- print $n,"\n";
- return $a[$n];
- }
- print &pr (4);
正确的代码为
- #! /usr/bin/perl
- sub pr {
- @a=qw/a b c d e/;
- my ($n)=@_;
- print $n,"\n";
- return $a[$n];
- }
- print &pr (4);
编辑回复