in reply to On running perl scripts
The answer to qn #1 is also dependent upon your Apache setup. Certain directories can be enabled to activate files ending in '.cgi' as executable, for example, the 'cgi-bin' directory is traditionally set up this way.
In the normal case, your script must have its execute permission bit set for you to activate it using the #! line as ./abc.cgi, whereas saying perl abc.cgi bypasses this necessity. In the first case, the UN!X shell is processing the file; in the second, the perl interpreter is processing it.