perl 传参问题

yuanyuanmmm 2012-03-22 05:17:43
perl。请问往一个数组里面传递2个参数,一个数组,一个变量
sub searchid
{
my @id = @_;
my $nowid = $_[0];

....}

这样写有问题,请指教啊~!!!
...全文
168 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
坏脾气的猪 2012-06-20
  • 打赏
  • 举报
回复
proorck6 2012-03-27
  • 打赏
  • 举报
回复
Perl里面全是数组,数组加标量也是数组,这就出问题了,必须用引用。哈哈。
jiuchang 2012-03-23
  • 打赏
  • 举报
回复
可以有两种方法
一是先变量,再数组,这样不需要使用引用
调用
func1($a, @b)
实现
sub func1
{
my ($a, @b) = @_;
...
}

二是数组在前,就需要使用数组的引用,使用时需要加一个转换或者就用引用
调用
func2(\@c, $d)
实现
sub func2
{
my ($c, $d) = @_;
my @arr = @{$c};
可以有下面两种获取数组元素的方法,效果是一样的
$c->[0]
$arr[0]
}
fibbery 2012-03-23
  • 打赏
  • 举报
回复
久长已经说得很清楚了!
busybeeCS 2012-03-22
  • 打赏
  • 举报
回复
sub f{
my($arg1,$arg2)=@_;
print @$arg1,"\n";
print $arg2,"\n";
}

@arr=(1,2,3,5,6);
$x=9;
&f(\@arr,$x);

输出:
12356
9
shijiang 2012-03-22
  • 打赏
  • 举报
回复
大概是这样--》
searchid(\@para1,$para2);

sub searchid
{
my $para1= shift @_;
my $para2= shift @_;
my @array = @$para1;
....}

37,741

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧