in reply to print to match multiple pattern

Don't read the whole file into memory. Read it line by line instead:

while (<FILE>) { ... # $_ is the current line }
(see Range operators).

Also, there is no need in the @t array: just slice the array returned by split:

if ((split "\t",$_)[7] =~ /^(?:HIGH|LOW|LRR)$/)

Also, your condition ($t[7] =~ /HIGH/ && /LOW/ && /LRR/) will never be true as long as one line never contains "HIGH", "LOW" and "LRR" at the same time.

Sorry if my advice was wrong.