use YAML; my ( @one, @two ); my %one_two = map {; $_ => int(rand(2) } 1 .. 10; for my $key ( keys %one_two ) { push @one, $key; push @two, $one_two{$key} || undef; # "skips" 0s here. } print Dump ( \%one_two, \@one, \@two );