If your contact form is in your cgi-bin directory, the link will likely look something
like this:
https://www.example.com/cgi-bin/contact.pl
If you want to link to your contact form with prefilled data, there are two ways to do so.
An email from a user might look like this:
From: Joe UserSubject: I love your site!!!! (Moose Tracks) It was the only site on the Internet I could find with the information I was looking for. Thanks so much, and keep up the good work.
At this point you know they were talking about your moose tracking page rather than your cookie baking page.
You may want to have the form itself as part of a larger page. To do this, you only need to copy the javascript and the form out of page source and place them on other page. The form will then submit to the contact form page. You can get by without the javascript if you remove the onsubmit="..." from the <form> tag.
While a cgi-bin directory is usually already configured to run scripts, you can configure any directory to run an email form using most web servers. Usually you create a .htaccess file in the directory in which you want to run the script with contents such as:
Options ExecCGI AddHandler cgi-script .pl
You may not want users to see a URL that doesn't end in .html. It is possible to hide the fact that contact form is written in perl from your visitors. You can give contact form an arbitrary extension (or even no extension at all) if you use some simple rules in a .htaccess file on Apache. Simply rename contact.pl to contact.html and use the following in .htaccess. (This assumes that your webserver is configured to use .htaccess files with the AllowOverride directive.)
Options ExecCGI <files contact.html> SetHandler cgi-script </files>
Copyright (C) 2002-2020 Stephen Ostermiller