私は動作するこのコードを持っています
my @new = keys %h1;
my @old = keys %h2;
function(\@new, \@old);
しかし、最初に変数を宣言しなくても実行できますか?
function
引数は参照として持つ必要があります。
私は動作するこのコードを持っています
my @new = keys %h1;
my @old = keys %h2;
function(\@new, \@old);
しかし、最初に変数を宣言しなくても実行できますか?
function
引数は参照として持つ必要があります。
use strict;
use Data::Dumper;
my %test = (key1 => "value",key2 => "value2");
my %test2 = (key3 => "value3",key4 => "value4");
test_sub([keys %test], [keys %test2]);
sub test_sub{
my $ref_arr = shift;
my $ref_arr2 = shift;
print Dumper($ref_arr);
print Dumper($ref_arr2);
}
出力:
$VAR1 = [
'key2',
'key1'
];
$VAR1 = [
'key4',
'key3'
];
function([ keys %h1 ], [ keys %h2 ]);
差出人perldoc perlref
:
匿名配列への参照は、角括弧を使用して作成できます。
$ arrayref = [1、2、['a'、'b'、'c']];