Future compatibility is not really an issue at least if you stick to Perl5, but if you're really that nervous about it, how about @{(MSG_DATA)} ? Note also that @{&MSG_DATA} will disable Perl's constant sub optimization (and will make it possible (if unlikely) for the value to change at runtime if the sub is redefined, as well).