use experimental qw( refaliasing declared_refs ); my \%foo = retrieve( ... );