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.
in reply to Display the data passed from php
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.