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,