What about this one-line ?
Here are the main ideas :
You read the file only once !
Then you try for each line to match one of your paterns...
You don't use backquotes as they spawn a shell and it's very
cpu/memory consuming...
perl -ne ' foreach $item(@timearray) { $searchstring = "$NETID\|$month
+\/$date\/$year\|$item\|"; if (/"^$searchstring/) { print }}' /PHL/dat
+a1/PHL/tmp/ECL_STAT.txt
Of course it could be optimized (for example I try to match all the remaining patterns even if I got a match, this seems to be unnecessary...)
Anyway, IMHO your main mistake is to open/read the file several time !