my $string = '1 Cat 2 Dogs 3 Hamsters'; my @a; push @a, $1 while $string =~ m/(\b\d+\s+\w+\b)/g; use Data::Dumper; print Dumper \@a; __END__ $VAR1 = [ '1 Cat', '2 Dogs', '3 Hamsters' ];