my %run_factors = $this_week->get_run_factors(); ... package Week; ... sub get_run_factots { my ($self) = @_; my %run_factors; @run_factors{$self->active_runs()} = $self->factors(); } #### #!/usr/bin/perl -w use strict; my @keys = qw(a b c d); my @values = (1, 2, 3, 4); my %result = build_hash(); use Data::Dumper; print STDERR Dumper(\%result); sub build_hash { my %return; @return{@keys} = @values; } #### $VAR1 = { '1' => 2, '3' => 4 };