> My mistake was think that if a value at the end > did not exist, I was given back a null. Now I know > to look for a false.
> > say "1.33" ~~ m/(\d+) ** 3..4 % "." / > False That pattern says there has to be three or four fields of digits, so if you don't have that many, the entire match has to fail. You're not going to get a partial match with only some of the captures filled in. If you want it to be able to match two fields you could change the quantifier: > say "1.33" ~~ m/(\d+) ** 2..4 % "." / > 「1.33」 > 0 => 「1」 > 0 => 「33」