foreach my $results(@$hash_of_excel){ my $specificresults = GroupResults($results); insertResult($specificresults->{'Desc'}); #last if $counter++ == 2; } sub GroupResults{ my( $AllRecords )= @_; my %specificResults; for my $info (keys %details){ $specificResults{$info}{$_} = $AllRecords->{$_} for @{$details{$info}; } } return \%specificResults; } sub SomethingUnPipeModifyRecord { my( $rec ) = @_; for my $val( values %$rec ){ my $newval = [ split /\|/, $val ]; $val = $newval; } return $rec; } sub insertL{ my ($li_results )= @_; my $liarray_values = SomethingUnPipeModifyRecord($ligand_results); #warn Dumper($li_array_values); warn "insert into LI values $li_array_values->{'Code'}[0],$li_array_values->{'US'}[0],$li_array_values->{'IN'}[0],$li_array_values->{'STEM'}[0]"; #my $ligand_insert = "insert into LI values(LI_SEQ.nextval,'SM',?,?,?,?,?,?,1,sysdate,?)"; }