The substr($regex, $i, $m) tells us to get $m characters from the string $regex at position $i. When you treat substr() as a lvalue (i.e., put it on the left side of the equals sign), you're telling perl to replace that substring with what's on the other side.
Since you're replacing $m characters, with a '.', you'll lose $m-1 characters (assuming $m is larger than 1). The x is a "repeat" operator, so "." x 5 creates a string of five periods. So we're using '.' x $m to create a string composed of periods as long as the substring you're replacing, so you don't change the length of the string.
...roboticus
When your only tool is a hammer, all problems look like your thumb.
In reply to Re^5: search of a string in another string with 1 wildcard
by roboticus
in thread search of a string in another string with 1 wildcard
by carolw
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |