in reply to Regular expression pattern matching question

Why make it complicated? If your regex is already testing for the presence of the ending digits, just capture them and test for the proper condition.

use strict; use warnings; my $threshold = 4333; while (my $ProdBuild = <DATA>) { chomp $ProdBuild; if ($ProdBuild =~ m/K7000[A-Z]-?[A-Z]{5}-?(\d+)/i and $1 >= $thres +hold) { print "Product match $ProdBuild\n"; } else { print "No match found \n" } } __DATA__ K7000AKNBKQ4333 K7000A-KNBKQ-4333 K7000A-KNBKQ-6801 K7000TKNBKQ7610 K7000AKNBKQ4233 K7000AKNB4333 K7000ANBKQ6845 K7000TKNBKQ-1845

yields:

Product match K7000AKNBKQ4333
Product match K7000A-KNBKQ-4333
Product match K7000A-KNBKQ-6801
Product match K7000TKNBKQ7610
No match found
No match found
No match found
No match found