my ( @buffer, %source, %dest ) $source{key1} = "value1"; $source{key2} = "value2"; push (@buffer, { %source } ); # beachte die { ... } $source{key1} = "value3"; $source{key2} = "value4"; push (@buffer, { %source } ); # beachte die { ... } #(...) %source = %{ pop(@buffer) }; # und hier das %{ } print $source{key1};