¿Cómo hacer un script de perl - por favor

  • dreamer7
  • Student
  • Student
  • No Avatar
  • Registrado: Ene 20, 2003
  • Mensajes: 96
  • Loc: UK
  • Status: Offline

Nota Junio 23rd, 2003, 10:22 am

Hola a todos me puede decir qué más puedo añadir a este tutorial he hecho por favor.

Heres lo que el guión se parece ..

Código: [ Select ]
#!/usr/bin/perl

use CGI::Carp qw(fatalsToBrowser);
use CGI;

$q = new CGI;

$name = $q->param('name');
$subject = $q->param('subject');
$age = $q->param('age');
$email = $q->param('email');
$ok_url = $q->param('ok_url');

open (MAIL, "| /usr/sbin/sendmail -oi -n -t");

print MAIL <<MAIL_MESSAGE;
To:$email
From:mailer\@OnSpRiNg.co.uk
Subject:Form Sent to you by $name
The following information has been sent from your test form:
This person has wrote the following:
Name: $name
Subject: $subject
Message sent:
$message

Have a nice day!
MAIL_MESSAGE
close MAIL;
print "location: $ok_url\n\n";
exit;
  1. #!/usr/bin/perl
  2. use CGI::Carp qw(fatalsToBrowser);
  3. use CGI;
  4. $q = new CGI;
  5. $name = $q->param('name');
  6. $subject = $q->param('subject');
  7. $age = $q->param('age');
  8. $email = $q->param('email');
  9. $ok_url = $q->param('ok_url');
  10. open (MAIL, "| /usr/sbin/sendmail -oi -n -t");
  11. print MAIL <<MAIL_MESSAGE;
  12. To:$email
  13. From:mailer\@OnSpRiNg.co.uk
  14. Subject:Form Sent to you by $name
  15. The following information has been sent from your test form:
  16. This person has wrote the following:
  17. Name: $name
  18. Subject: $subject
  19. Message sent:
  20. $message
  21. Have a nice day!
  22. MAIL_MESSAGE
  23. close MAIL;
  24. print "location: $ok_url\n\n";
  25. exit;


Usted puede ser un poco de miedo por ahora, si no han tenido experiencia con perl en el momento pero les aseguro que es bastante simple.
Pero deja ir a través de línea por línea:

Código: [ Select ]
#!/usr/bin/perl


Este es el "Shebang línea" como los llamados, pero su justo decir la secuencia de comandos en perl es en el servidor.

Código: [ Select ]
use CGI::Carp qw(fatalsToBrowser);
use CGI;
  1. use CGI::Carp qw(fatalsToBrowser);
  2. use CGI;


Estas dos líneas son importantes como es la línea Shebang pero estas dos líneas de llamada módulos de perl la primera es si se produce algún error el módulo mostrará los errores de su navegador web de la segunda se abre el módulo CGI que se utiliza para varias tareas diferentes, pero la tarea vamos a utilizar para es para correo.

Código: [ Select ]
$q = new CGI;

$name = $q->param('name');
$age = $q->param('age');
$message = $q->param('message');
$email = $q->param('email');
$ok_url = $q->param('ok_url');
  1. $q = new CGI;
  2. $name = $q->param('name');
  3. $age = $q->param('age');
  4. $message = $q->param('message');
  5. $email = $q->param('email');
  6. $ok_url = $q->param('ok_url');


La primera línea es sólo hacer $ q un objeto cualquiera CGI que sabe lo que es programación orientada a objetos debería ver el punto en el que haciendo esto en los próximos 5 líneas de tomar los valores de los siguientes campos en el formulario web que se debe el nombre al poner en "name =" después de input type =...malos mostrará el formulario de la web más adelante para que usted no tiene que recordar que uno todavía.

Código: [ Select ]
open (MAIL, "| /usr/sbin/sendmail -oi -n -t");


Esta parte del código se abre el programa sendmail Perl ( NOTA: "/ usr / lib / sendmail" no es siempre el camino a sendmail consulte en caso de que no es ) Se abre el sendmail y le da un identificador de archivo llamado Mail esto se utiliza para hacer referencia a ella.

Código: [ Select ]
print MAIL <<MAIL_MESSAGE;
To:$email
From:mailer\@yoursite.com
Subject:Form Sent to you by $name
This person has wrote the following:
Name: $name
Subject: $subject
Message sent:
$message

Have a nice day!
MAIL_MESSAGE
  1. print MAIL <<MAIL_MESSAGE;
  2. To:$email
  3. From:mailer\@yoursite.com
  4. Subject:Form Sent to you by $name
  5. This person has wrote the following:
  6. Name: $name
  7. Subject: $subject
  8. Message sent:
  9. $message
  10. Have a nice day!
  11. MAIL_MESSAGE


Esta es la parte principal de correo electrónico de su script le dice al preprocesador que su texto de su impresión y no de código Perl. Para, De, Asunto, es todo lo explica por sí mismo. Nombre, tema, mensaje son las variables que hemos tomado desde el formulario web. Esta parte de la secuencia de comandos se puede cambiar para adaptarse a su script i necesidades.Esta hecho y por lo que a medida de modo que diría quién era sobre el tema y "Have a nice day!" al final del correo electrónico como un lol buen toque. También con la mayoría de idiomas si se inicia algo que tienes que terminarlo por lo que se acaba con MAIL_MESSAGE como una etiqueta final.

Código: [ Select ]
close MAIL;
print "location: $ok_url\n\n";
exit;
  1. close MAIL;
  2. print "location: $ok_url\n\n";
  3. exit;


Esto cierra sendmail y redirige el explorador a una nueva página que se puede poner en el formulario web como un campo oculto y el nombre "ok_url" o poner en la dirección y sacar $ ok_url pero soy bastante seguro de que usted necesita para mantener los 2 caracteres de línea nueva (\ n \ n).
Luego, el final de la secuencia de comandos con salida;.

Ahora en el formulario web (tener en cuenta que usted tendrá que cambiar su aspecto, porque soy sólo escribir lo que debe ser puesto en él):

Código: [ Select ]
<html>
<head>
<title>titleofyourchoice</title>
</head>
<body>
<form action="/pathtoyourscript">
Email Address: <input type="text" name="email"><p>
Message: <input type="text" name="message"><p>
Name: <input type="text" name="name"><p>
Age: <input type="text" name="age"><p>
<input type="hidden" name="ok_url" value="http:\www.yoursite.com\thankyoupage.htm">
<input type="submit" value="Submit"><input type="reset">
</body>
</html>
  1. <html>
  2. <head>
  3. <title>titleofyourchoice</title>
  4. </head>
  5. <body>
  6. <form action="/pathtoyourscript">
  7. Email Address: <input type="text" name="email"><p>
  8. Message: <input type="text" name="message"><p>
  9. Name: <input type="text" name="name"><p>
  10. Age: <input type="text" name="age"><p>
  11. <input type="hidden" name="ok_url" value="http:\www.yoursite.com\thankyoupage.htm">
  12. <input type="submit" value="Submit"><input type="reset">
  13. </body>
  14. </html>


El camino a su script debería ser algo como "http: \ \ www.yoursite.com \ cgi-bin \ script.cgi". Bueno thats sobre ella, si usted necesita cualquier ayuda puesto que en aquí. Espero que todo lo que ayuda a las personas que necesitan secuencias de comandos para correo.

Me gustaría poner el código Perl en un editor de texto como el Bloc de notas y guárdelo como sea. Cgi o. pl, y otra cosa es que al cargar el script a su directorio cgi-bin (si no tiene uno, entonces su servidor no tiene perl y lo que no puede usar este script) debe cambiar los permisos de archivo a 0755 o legible por todos los ejecutables de todos los permisos de escritura, pero sólo por ti. Un programa de FTP buena voluntad tienen las opciones para hacer eso por usted, sino también de su web aloja el programa para la carga podría tener también.
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Junio 23rd, 2003, 10:22 am

  • b_heyer
  • Web Master
  • Web Master
  • Avatar de Usuario
  • Registrado: Jun 15, 2003
  • Mensajes: 4583
  • Loc: Maryland
  • Status: Offline

Nota Junio 23rd, 2003, 11:37 am

Malos ir a través de él después de jugar algunos irreal, no desea reiniciar el sistema para mandrake ahora :)
Pixel Acres V2

Publicar Información

  • Total de mensajes en este tema: 2 mensajes
  • Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 132 invitados
  • No puede abrir nuevos temas en este Foro
  • No puede responder a temas en este Foro
  • No puede editar sus mensajes en este Foro
  • No puede borrar sus mensajes en este Foro
  • No puede enviar adjuntos en este Foro
 
 

© 2011 Unmelted, LLC. Ozzu® es una marca registrada de Unmelted, LLC