my $stream = 't1 t2 t1 t3 t1 t4';
my @tokens = ('t1, 't2', 't3', 't4');
my $pattern = join('|', @tokens);
my $regex = qr/($pattern)/g;
while ($stream =~ $regex) {
print "token: $1\n";
}
####
while ($stream =~ /$regex/g) {
print "token: $1\n";
}
####
while ($stream =~ /($pattern)/g) {
print "token: $1\n";
}