in reply to Difference between two arrays
use strict; use warnings; my $before = [qw(1 2 3 4 5 6 7 8 9 10)]; my $after = [qw(1 2 3 4 6 7 5 8 9 10)]; # Find the first and last that are out of position my ($lo_1, $hi_1); for (0..$#$before) { if ($before->[$_] != $after->[$_]) { (defined $lo_1 ? $hi_1 : $lo_1) = $_; } } # If the first item is out of order relative to the one following it, # it has been moved from higher up; otherwise, the move was in the oth +er direction if ($after->[$lo_1+1] < $after->[$lo_1]) { print "Moved element $hi_1 to $lo_1\n"; } else { print "Moved element $lo_1 to $hi_1\n"; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Difference between two arrays
by rafl (Friar) on Mar 23, 2006 at 02:12 UTC | |
by reasonablekeith (Deacon) on Mar 23, 2006 at 10:30 UTC |