3

したがって、次のような一連の配列を作成したとします。

my (@device, @mount, @type, @options, @dump, @pass) = ();

その後、それらの配列を内部に含む配列を作成したいと思いました。どうすればいいですか?私は使用しようとしました:

my @columns = (@device, @mount, @type, @options, @dump, @pass);

my @columns = ([@device], [@mount], [@type], [@options], [@dump], [@pass]);

問題は、@columns が空のままであることです。本当に単純な構文ミスを犯しているように感じます。私は何を間違えましたか?

4

1 に答える 1

8
  1. 使用するときは、指定された配列のすべての値を array に代入するだけです@columns

    my @columns = (@device, @mount, @type, @options, @dump, @pass);
    
  2. ここでは、参照によってすべての配列を言うだけです。Data::Dumperを使用すると、配列の構造を確認できます@columns

    use Data::Dumper;
    
    my @columns = ([@device], [@mount], [@type], [@options], [@dump], [@pass]);
    print Dumper(\@columns);
    

配列参照を使用してそれを行うことができます。このチュートリアルを読んでください: perlreftut - 参照に関するマークの非常に短いチュートリアル

my @columns = (\@device, \@mount, \@type, \@options, \@dump, \@pass);

次に逆参照を使用します。

my @new_device = @{ $columns[0] };
于 2012-09-22T20:32:21.933 に答える