问题1:
我想将一个数组传递给一个函数.但是在函数中改变了传递的参数.是值吗?
问题2:
#my ($name, $num, @array)= @_; <=1 )
my $name = shift; <=2 )
my $num = shift;
my @array = shift;
Run Code Online (Sandbox Code Playgroud)
案例1和案例2有不同的输出.它为什么会发生?
#!/usr/bin/perl
use strict;
my @test1;
push @test1, ['a', 1];
push @test1, ['b', 1];
push @test1, ['c', 1];
push @test1, ['d', 1];
push @test1, ['e', 1];
for (my $i=0; $i< scalar(@test1); $i++) {
print "out1: $test1[$i][0] $test1[$i][1]\n";
}
test_func("test_func", 10, @test1);
sub test_func {
#my ($name, $num, @array)= @_; <=1)
my $name = shift; <=2)
my …Run Code Online (Sandbox Code Playgroud)