Regex to match odd numbers

Sam Kington sam at illuminated.co.uk
Tue May 27 17:05:43 BST 2014


> As part of the nasty mess that is CPANdeps, I have this line of code:
> 
> $record->{is_dev_perl} = (
>  $record->{perl} =~ /(^5\.(7|9|11|13|15|17|19|21)|rc|patch)/i
> ) ? 1 : 0;
> 
> I'd like to not have to remember to add 23 to the list in a year or so's
> time. Can anyone think of a nice way of matching any odd number from 7
> upwards?  Obviously it's easy to do in a coupla lines of perl code
> instead of a regex, so I'm asking more out of curiosity than because I
> actually need it.

Sounds like you want something like

/ ( ^ 5[.] ( [79] | \d+ [13579] ) ) /x

Sam
-- 
Website: http://www.illuminated.co.uk/



More information about the london.pm mailing list