See perlre for explanation.
\b matches "word boundaries", but in a special meaning of "word". /i makes the matching case insensitive, and /g makes it global, i.e. it matches as many times as it can, and returns all the matching substrings.
($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord
}map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,
| [reply] [Watch: Dir/Any] [d/l] [select] |
Ok, i'm near the end of the script now.
In this bit, I can see why the script prints out the line from $csv2, but I can't understand how it prints out the line from csv1. I can't see where it gets this information.
if ($count >= $desired) {
print "$csv2\n";
++$matched;
}
}
print "$_\n\n" if $matched;
I can see the:
print "$_\n\n" if $matched;
bit somehow contains the information from csv1, but I can't see anything in the script which suggests why this would be?
| [reply] [Watch: Dir/Any] [d/l] [select] |
while (<CSV1>) {
in fact means
while (defined( $_ = <CSV1> )) {
($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord
}map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,
| [reply] [Watch: Dir/Any] [d/l] [select] |