in reply to print to match multiple pattern
Don't read the whole file into memory. Read it line by line instead:
(see Range operators).while (<FILE>) { ... # $_ is the current line }
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.
|
|---|