http://qs321.pair.com?node_id=11128123


in reply to Unable to compare 2 arrays from 2 separate columns of separate sheets.

"identify the mistake in my code"

There are a multitude. For a start there are a bunch of variables that seem to be global to the code you give, which is (kinda) OK, but including something to show that those variables are supposed to be global to the outer for loop would be smart ($workbook1, $worksheet, @cellA, ...).

Some variables are clearly not declared correctly ($cellA, $row, ...). $r isn't declared and it's scope isn't obvious.

Your indentation is all over the place. You need to turn most of your if statements inside out:

for my $col ($col_min = 0) { if ($appssheet eq $appsshhetname) { my $cell = $worksheet1->get_cell($row, 0); ... } }

should be:

for my $col ($col_min = 0) { next if $appssheet ne $appsshhetname; my $cell = $worksheet1->get_cell($row, 0); ... }

Because of all the above issues (except maybe the if statements stuff) it isn't possible to check the logic of your code with any certainty. Perhaps you need to turn on strictures and tighten up the scope of your variables as a first step?

Optimising for fewest key strokes only makes sense transmitting to Pluto or beyond