$alldata{$key} = [split /;/, $value] #### # replaces everything in the last elsif(){...} push @{$alldata{$key}}, {split /;|=/, $value};