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"; }