while () { my ($params) = /^foo ((?:m \d+ *)*) bar$/; my @nums = $params=~ /\d+/g; print "$params -> (@nums)\n"; } __DATA__ foo m 1 m 2 m 3 m 4 bar foo m 2 m 4 m 7 bar foo m 1 bar