[@array] can be/usually is written as \@array
Careful. The two are not the same. \@array returns a reference to the existing array. [@array] creates a new (anonymous) copy of the original array and returns a reference to the copy. It's a subtle difference, but an important one.
#!/usr/bin/perl
use strict;
use warnings;
my @arr = (1 .. 5);
my %hash = (
aref => \@arr,
copy => [ @arr ],
);
print "@{$hash{copy}}\n";
print "@{$hash{aref}}\n";
@arr = ('a' .. 'e');
print "@{$hash{copy}}\n"; # original values
print "@{$hash{aref}}\n"; # changed values