in reply to remove multiple indexes from an array

Your first is better, but doesn't work as written. Try something like:
my $i = 0; my %fullHash = map { ($i++, $_) } @rows; # Delete your stuff here my @keeplist = map { $fullhash{$_} } sort { $a <=> $b } keys %fullHash +;
The problem was that you were reconstituting the array in the random order of the hash. Hashes don't preserve order, so you may need to sort if you're going from hash => array.

Update: Modified the sort from ASCIIbetically to numerically. Whoops! :-)

------
We are the carpenters and bricklayers of the Information Age.

Don't go borrowing trouble. For programmers, this means Worry only about what you need to implement.