sub load { my ($self,$file); open my $f,") { chomp $line; next if length $line == 0; if($line =~/^group\d+/) { $last_group = $line; $config->{num_groups}++;#countgroups next; }; push @{ $config->{groups}->{$last_group} },$line; # collects each groups lower and upper bounds (BUT HOW?) }; } group.conf CONTAINS: group1 AG3333 .Y33 1999 HU4555 .T34 2000 group2 HV9069 .L28 2003 KA5333 .A12 2001 group3 KB XX