I'm making some assumptions here. Your confusion stems probably from the fact that you have little idea how the Web works on the HTTP message level. Read a book or two about modern Web development, the concepts should transfer easily to your tools of choice. Following is a very small PSGI application to get you started. The application-specific JavaScript can also be put into a stand-alone file. Yes, a templating system is a good idea. So is using a Web framework, which is a small step up from printing out HTML piecewise.
my $app = sub {
return [200, ['Content-Type' => 'application/xhtml+xml'], [<<'END_
+HTML']];
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="http://code.jquery.com/jquery-2.0.3.min.js"></scr
+ipt>
<script>
jQuery(document).ready(function(){
jQuery('p').append(' Hello world from jQuery!');
});
</script>
</head>
<body>
<p>Greetings.</p>
</body>
</html>
END_HTML
};
edit: JS does not need to be in the HTML