$string="garbage validcommand 1234 221 garbage 999 213 validcommand 12 34 garbage"; while ($string =~ /validcommand\s+((\d+\s+)+)/g) { push @args, split /\s+/, $1; }