n = 1 - x 2 - xx 3 - xxx. 4 - xxx.x.... 5 - xxx.x.....x...... #### my $regex = '\A' . ('[^x]*x' x $n) . '[^x]*'; $foo =~ m{ ($regex) }xms; # PBP orthodoxy :) #### my $regex = '\A' . ('[^x]*?x' x $n);