Perl: ou est l'erreur dans mon programme?

Fermé
tonguim - 7 mars 2005 à 18:39
 tonguim - 8 mars 2005 à 15:38
Bonjour,

j'ai le code suivant ecrit en langage perl:

#!c:/Perl/bin/Perl.exe

print "Content-type: text/plain\n\n"; #cette ligne est obligatoire dans un programme perl

use CGI 'param';
$nom = param('nom');
$annee = param('annee');
print<<imprime_HTML;
	<html>
		<body>
			Mr/Madame $nom
		</body>
	</html>
imprime_HTML


le fichier ".pl" ci-dessus est appele a partir d'un fichier ".html" dont voici le code:
<html>
	<head>
	</head>
	<body>
		<form action = "http://localhost/cgi-bin/test_exercices/age.pl" method = "post">
			<h1 align = center>Programme age</h1>
			<table>
				<tr>
					<td>Nom:</td><td><input name = nom size = 30></td>
				</tr>
				<tr>
					<td>Prenom (s):</td><td><input name = prenoms size = 30></td>
				</tr>
				<tr>
					<td><i>Date de naissance</i></td>
				</tr>
				<tr>
					<td>Jour:</td> <td><input name = jour size = 30></td>
				</tr>
				<tr>
					<td>Mois:</td></td> <td><input name = mois size = 30></td>
				</tr>
				<tr>	<td>Année:</td> <td><input name = annee size = 30></td>
				</tr>
				<tr>	
					<td><input name = bouton type = submit value = "Valider"></td>
				</tr>
		</form>
	</body>
</html


Lorsque j'execute le fichier .pl, j'ai le message d'erreur suivant:
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, tonguimferdinand@netscape.net and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log


Lorsque j'execute le fichier .pl en mode commande, j'ai le message d'erreur suivant:

Can't find string terminator "imprime_HTML" anywhere before EOF at C:\Program Files\Apache Group\Apache2\cgi-bin\test_exercices\age.pl line 8.


Je ne trouve pourtant pas l'erreur. Pouvez vous m'aider? Merci
A voir également:

2 réponses

y'a t'il des programmeurs en perl ici?
0
j'ai trouve l'erreur:

apres l'instruction de la derniere ligne "imprime_HTML", il faut ajout une ligne pour que le "imprime_HTML" ne soit pas la derniere instruction du script; il faut ajouter par exemple une nouvelle ligne "\n".

Mon script .pl ressemble maintenant a ceci:

#!c:/Perl/bin/Perl.exe -w

print "Content-type: text/plain\n\n"; #cette ligne est obligatoire dans un programme perl

use CGI 'param';
$nom = param('nom');
$prenom = param('prenoms');
$annee = param('annee');
print <<imprime_HTML;
	<html>
		<body>
			Mr/Madame $nom $prenom vous avez $annee an(s);
		</body>
	</html>
imprime_HTML
"\n";


une question: pourquoi, a l'execution de ce script, apparaissent a l'ecran les balises html? merci
0