Yesterday, a friend of mine was toying around with some Perl code, when
he got to a function which would only accept a regular expression. He
said:

"How can I say that I want every single year after the one I have? It's
impossible..."

To which I replied:

"Nothing is impossible! Especially in Perl! ;-) " (ok, maybe these
weren't my words at the time, but they seem cool now, right? :-) )

So after a couple of minutes, this is what I came up with:


$year = 2004; # I'm stating it directly to improve clarity

$year =~/(\d)(\d)(\d)(\d)/;

($c,$d,$e,$f) = ($4+1,$3+1,$2+1,$1+1);

$regex =
qr/^\d*(?:${1}${2}${3}[$c-9]|${1}$2[$d-9]\d|$1[$e-9]\d{2}|[$f-9]\d{3})$/;


and that does the trick :-)

Thought I should share this with you guys :-) Thoughts are welcome :-)


BTW: This was made so it would work with $year consisting of four
digits... any care to make it generic? :-)


Regards,

jac

-- 
Josà Alves de Castro <[EMAIL PROTECTED]>
Telbit - Tecnologias de InformaÃÃo

Reply via email to