Matching usually involves the m// operator, while substitution usually involves the s/// operator. While it is often useful and efficient to use the s/// operator in an if{} statement, when starting out you might go a little slower.
Assuming you have 2 variables, and you want to match the one (without leading zeros) to the other (with leading zeros), you might be looking for this:
which yields:$var1 = '020055'; $var2 = '20055'; if ( $var1 =~ /(0*)($var2)/ ) { print "Found match: <$1><$2>\n"; } else { print "No match: \$var1<$var1> \$var2<$var2>\n"; }
To be more helpful, we need to know more about your problem. For instance, are you reading each value from different files? Do the values have exactly 5 interesting digits?Found match: <0><20055>
-QM
--
Quantum Mechanics: The dreams stuff is made of
In reply to Re: Regex and leading zeros in numbers
by QM
in thread Regex and leading zeros in numbers
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |