Questo è quello che ho:Come dovrei modificare il prototipo per consentire la costruzione di un hash dopo il coder?
use 5.14.0;
use strict;
use warnings;
sub my_func(&$) {
my $coderef = shift;
my %attribs = @_;
}
Questo è quello che mi piacerebbe realizzare:
my_func {
print 1;
} first_attrib => "1",second_attrib => "2";
Tuttavia, ricevo l'errore Too many arguments for main::my_func at x.pl line 12, near ""2";"
. Come dovrei modificare il prototipo, in modo che i parametri dopo il coderef vengano trasformati in un hash?
E 'più esatto dire che 'first_attrib => "1", second_attrib => "2"' è un * lista *, e una lista può essere assegnata ad un hash. – friedo
@friedo: è vero. Grazie per la segnalazione. – flesk