use*_*478 2 arrays perl module reference
我有一个带有新构造函数的模块:
package myClass;
sub new
{
my $class = shift;
my $arrayreference = shift;
bless $arrayreference, $class;
return $arrayreference;
};
Run Code Online (Sandbox Code Playgroud)
我想做的事情如下:
foreach $ref (@arrayref)
{
$array1 = myClass->new($ref);
}
Run Code Online (Sandbox Code Playgroud)
$array1
每当被改写,但我想要的阵列中的每个元件具有不同的对象名称(如$array1
,$array2
,$array3
等等)
如果您正在使用复数数据结构(数组),则需要将结果存储到多个容器(或多个标量容器)中.执行此操作的惯用方法是使用以下map
函数:
my @object_array = map {myClass->new($_)} @source_array;
Run Code Online (Sandbox Code Playgroud)
如果您知道@source_array
包含固定数量的项目,并且您希望每个对象都有标量:
my ($foo, $bar, $baz) = map {myClass->new($_)} @source_with_3_items;
Run Code Online (Sandbox Code Playgroud)