use strict;
use warnings;
my $s = 'This is a test';
my @pairs = $s =~ /(?=(\w+ \s+ \w+))\w+ \s+/gx;
print join "\n", @pairs;
####
This is
is a
a test
####
...
my @pairs = map [split], $s =~ /(?=(\w+ \s+ \w+))\w+ \s+/gx;
print "@$_\n" for @pairs;
####
This is
is a
a test