$clocks{$pin_name}{'period'} = $Worksheet->{Cells}[$row][$clock_col]->Value; #snip foreach my $key (sort keys %clocks){ print_clock_assertions($clocks{$key},$key); } sub print_clock_assertions { my($hashref)=$_[0]; my($clock_name)=$_[1]; if($hashref->{'virtual'} eq "VIR") { etc...