scratchpad steph_bow <p> Thanks alot dogz007 <p> You are very nice <p> your explanations are very clear, and you explained to me in every details <p> Just a few words to turn your attention on the following point : -- is not magical, contrary to ++ <p> So, instead of decrementing @two, I have incremented twice @one <p> So I had to make some little modifications to your proposition, which is already very good <code> #! /usr/bin/perl use strict; while (my \$line = <DATA>) { chomp \$line; my @line = split ";", \$line; next if \$line eq \$line; next unless length \$line == length \$line; my @one = breakup(\$line); my @two = breakup(\$line); my \$one_incremented; my @One_Incremented = @one; foreach \$one_incremented(@One_Incremented){ ++\$one_incremented; } next unless scalar(@one) == scalar(@two); print STDOUT "one vaut : @one and two vaut : @two\n"; my @match = map { \$one[\$_] eq ++\$two[\$_] || ++\$One_Incremented[\$_] eq \$two[\$_] ? 1 : 0 } (0..\$#one); print STDOUT "match vaut @match\n"; print \$line, "\n" if 1 == grep {\$_} @match; } sub breakup { my @out; while (\$_) { \$_ =~ s/^([a-zA-z]|[0-9]+)//; push @out, \$1; } return @out; } </code> <p> interesting topics: 674374 How would I sort a two-dimensional array by multiple columns? (with excel) </p> <p> 679296 : Date sorting </p> <p> #128077 : Module installation </p>