in reply to Should be a simple spaces/digits regex....but I'm turning grey!
Hello viffer,
As others have noted, your question is somewhat under-specified. Here is my take on what you may be looking for:
#! perl use strict; use warnings; my $len = 7; for my $s (' 999', ' 9999', '9999999', ' 9', ' 99 9', ' +9') { if (length $s == $len && $s =~ /^\s*\d+$/) { printf "%-*s matches\n", $len + 2, "|$s|"; } else { printf "%-*s does not match\n", $len + 2, "|$s|"; } }
Output:
12:33 >perl 960_SoPW.pl | 999| matches | 9999| matches |9999999| matches | 9| matches | 99 9| does not match | 9| does not match 12:33 >
When the size of the field changes, no need for a new regex — just change the value of $len.
Hope that helps,
| Athanasius <°(((>< contra mundum | Iustus alius egestas vitae, eros Piratica, |
|
|---|