my @list = ('CMS=11111','cms11111','cms00000011111','cms11111','cms:11111','cms 11111','cms 11111 22222 33333','cms 11111,22222,33333'); foreach (@list) { print "$_\n"; my @matches; if(/^(?:cms|cqone)/i) { @matches = /0*(\d+)/g; } foreach (@matches) { print "\t$_\n"; } }