in reply to pattern match on entire file

$temp =~ /$tempName/s;

This searches for the string contained in $tempName in $temp, in multiline mode. It is not a problem if $tempName contains metacharacters because it will be interpolated only once.

if ($temp eq '')

This checks the contents of $temp, not the result of the pattern match!

You should have now enough hints to go on :-)