При построении объектов многих типов методу new
можно передать список аргументов, которые могут отображаться в виде хэша, но на самом деле это просто массив, где каждое четное число является ключом, а каждое нечетное числоявляется значением.
my $obj = Some::New::Class->new(
name => 'Sam',
age => 0,
email => 'sam@localhost'
);
Это эквивалентно:
my $obj = Some::New::Class->new(
'name', 'Sam',
'age', 0,
'email', 'sam@localhost'
);
Однако вы можете указать new () искать хеш, который будет выглядеть примерно так:
my $obj = Some::New::Class->new({
name => 'Sam',
age => 0,
email => 'sam@localhost'
});
Если это не ответит на ваш вопрос, надеюсь, я хотя бы предоставил некоторую информацию.