Matriz de Hashes em Perl

O trecho de código a seguir fornece o Array de Hashes em Perl, frequentemente conhecido. Esta é minha opinião sobre o exercício Array of Hashes do livro Intermediate Perl, também conhecido como o livro Alpaca.

my %gilligan_info = (
name
=> 'Gilligan',
hat
=> 'White',
shirt
=> 'Red',
position
=> 'First Mate',
location
=> 'The Island',
);

my %skipper_info = (
name
=> 'Skipper',
hat
=> 'Black',
shirt
=> 'Blue',
position
=> 'Captain',
location
=> 'The Island',
);

my %mr_howell_info = (
name
=> 'Mr. Howell',
hat
=> 'Khaki',
shirt
=> 'Bone',
position
=> 'First Mate',
location
=> 'The Island',
);

my %mrs_howell_info = (
name
=> 'Mrs. Howell',
hat
=> 'Blue',
shirt
=> 'Pink',
position
=> 'Captain',
location
=> 'The Island',
);

my @crew = (%gilligan_info,%skipper_info,%mr_howell_info,%mrs_howell_info);

my $format = "%-15s %-7s %-7s %-15s %-15sn";

foreach my $crewmember (@crew) {
printf $format
, @$crewmember{qw(name shirt hat position location)};
}