我有几个大小相同的数组如下:
@m1= (1,1,1); @m2= (0,1); @m3= (0,0); @m4= (1,0);
问题是如何将它放在这样的数组中?
@m = ( [1,1],[0,0],[1,0] );
解决方法
编辑:既然你想复制数组(根据你的评论),那么我会这样做 –
my @m = ( [ @m1 ],[ @m2 ],[ @m3 ],[ @m4 ] );
有关更多信息,请参见perldoc perlref和perldoc perlreftut.
原始答案:
如果要将它们展平为一个数组:
my @m = ( @m1,@m2,@m3,@m4 );
如果你想要一个arrayrefs数组:
my @m = ( \@m1,\@m2,\@m3,\@m4 );
例:
use Data::Dumper; my @m1= (1,1); my @m2= (0,1); my @m3= (0,0); my @m4= (1,0); my @m = ( @m1,@m4 ); warn Dumper( \@m ); my @m_again = ( \@m1,\@m4 ); warn Dumper( \@m_again );
输出:
$VAR1 = [ 1,0 ]; $VAR1 = [ [ 1,1 ],[ 0,0 ],[ 1,0 ] ];