but the precise answer to your question is that hello.pl must be placed in the directory cgi-bin

Er... no. The precise answer is that hello.pl must be placed in whatever directory the configuration of the web server has mapped to the URL /cgi-bin/. This is often a directory called cgi-bin but without examining the web server configuration files you can't be 100% sure. It's possible that it's not mapped onto any directory at all.

Typically this will be found in the public_html directory

Well, only on servers that have user directories enabled. And even then only on ones that allow individual users to have cgi-bin directories. That's pretty rare in my experience.

When putting a smiley right before a closing parenthesis, do you:

Use two parentheses: (Like this: :) )
Use one parenthesis: (Like this: :)
Reverse direction of the smiley: (Like this: (: )
Use angle/square brackets instead of parentheses
Use C-style commenting to set the smiley off from the closing parenthesis
Make the smiley a dunce: (:>
I disapprove of emoticons
Other