my %field; my @names = (qw/serial phone email po address city state zip etc/); my @sizes = ( 30, 30, 30, 30, 75, 30, 30, 30, 80 ); my @labls = ("Serial Number:", "Phone Number:", "and so on..."); foreach (@names) { $field{$_}{txvar} = ''; $field{$_}{label} = $rf->Label(-text => shift( @labls )); $field{$_}{entry} = $rf->Entry(-width => shift( @sizes ), -textvariable => \${$field{$_}{txvar}}, ); }