in reply to You can't assign $_ to a hash in a foreach statement

Maybe hash slice?

#!/usr/bin/env perl use strict; use warnings; use Data::Dumper; my %h = (a => 0, b => 0, c => 0); my @ar = ( 42, 43 ); @h{ qw( a c ) } = @ar; print Dumper \%h;