I'm assuming you are going to read in the file and
chomp the result, thus removing the newline from the end. You can also do similar things if you slurp the file, etc., but obviously the regex changes. Info can be found in
perlretut. For this case, you can capture the last two entries in a tab-delimited record by anchoring to the end of the string ($) combined with using [^] to specify a character class (see
Simple word matching), a la:
#!/usr/bin/perl
use strict;
use warnings;
my $string = "12\tWS:00001\tAny number of (\t.+)\tword_1\tword_2";
print join("\n", $string =~ /\t([^\t]*)\t([^\t]*)$/);