in reply to Display the data passed from php
If the script's contents are returned (i.e. a bunch of perl code), your webserver is treating the script as a text file, not as something to execute. You have to do two things: i) tell your webserver the script is to be executed ii) make the script executable.
Step i) is achieved by doing something like placing the script in a default cgi-bin folder, or changing your server's configuration so that it understands the file extension of things that are to be used as cgi executables (though outside the cgi-bin), such as *.pl or *.cgi. Step ii) is achieved by doing something like chmod +x mail_contact.pl.
We can't really be more specific because we don't know (or particularly care about, since this is not an apache/php/js forum) your exact server configuration.