#! /usr/bin/perl use warnings; use strict; use feature qw{ say }; my @a = (a => 1, b => 2, c => 3); sub clone_a { print "cloning \%a\n"; return [@a] } while (my ($index, $val) = each @{ clone_a() }) { print "$index => $val\n"; }