in reply to How to improve my code? main concern:array as hash element
You can store the reference to an array in your hash:
See also perlref.%gp = ( Gi => [qw[Galpha-i1 Galpha-i2 Galpha-i3]], ); print $gp{Gi}[1];
In Section
Seekers of Perl Wisdom