• Publicidad

Llamada a subrutina Perl desde HTML

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Llamada a subrutina Perl desde HTML

Notapor princi » 2012-06-14 08:49 @409

Hola, soy estudiante y estoy aprendiendo...

Quisiera saber si se puede llamar a una subrutina Perl desde HTML.

El código es:

Sintáxis: [ Descargar ] [ Ocultar ]
Using html4strict Syntax Highlighting
  1. open (OUT,">$html");
  2. print OUT <<ENDHTML_LAST
  3.  
  4.  
  5. <body bgcolor="#F5F5F5">
  6. <head>
  7. <BR>
  8. <title>$id</title>
  9. </head>
  10.  
  11. <CENTER>
  12. <TABLE bgcolor="#FFFFFF"  border = "0" WIDTH="60%">
  13.     <tr>
  14.      <td><img src= "encabezado.jpg"><hr></td>
  15.    </tr>
  16.  
  17. <TR>
  18. <td align="center">                                                                                                                                              
  19. <iframe width="35%" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=es&amp;geocode=&amp;q=loc:$latitud[$cont]+$longitud[$cont]&amp;aq=&amp;sll=37.0625,-95.677068&amp;sspn=37.735377,86.572266&amp;ie=UTF8&amp;ll=$latitud[$cont],$longitud[$cont]&amp;spn=11.053202,21.643066&amp;t=m&amp;z=6&amp;iwloc=&amp;output=embed"></iframe><br /><small>
  20. </td>
  21. </TR>
  22.  
  23. <tr>
  24. <td align="center"><font size="2"><font face="Arial, Helvetica, sans-serif"><a href="http://maps.google.com/maps?f=q&amp;source=embed&amp;hl=es&amp;geocode=&amp;q=loc:$latitud[$cont]+$longitud[$cont]&amp;aq=&amp;sll=37.0625,-95.677068&amp;sspn=37.735377,86.572266&amp;ie=UTF8&amp;ll=$latitud[$cont],$longitud[$cont]&amp;spn=11.053202,21.643066&amp;t=m&amp;z=6" style="color:#0000FF;text-align:left">Ver mapa más grande</a></small>&nbsp</font></font></td>
  25. </tr>
  26.  
  27. <tr>
  28. <td>&nbsp</td>
  29. </tr>
  30. ....
  31. <tr>
  32. <TD align="center" valign="middle"><font size="2"><font face="Arial, Helvetica, sans-serif">&nbsp<a href="$sfile" target="_self">SFILE</a>&nbsp;&nbsp;&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp
  33. <INPUT type="button" value="Publica" onClick="f();"></font></font>
  34.  
  35. </td>
  36. </tr>
  37. ....
  38.  
  39. ENDHTML_LAST
  40. ;
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4



En la línea 33 con onClick quiero llamar a la subrutina "f":

sub f
{
algo....
}

¿Es posible? ¿O solo debo hacerlo con JavaScript...?

Desde ya, Muchas Gracias por su tiempo y perdón por mi ignorancia en los distintos lenguajes...

¡Saludos!
princi
Perlero nuevo
Perlero nuevo
 
Mensajes: 16
Registrado: 2012-01-31 08:00 @375

Publicidad

Re: Llamada a subrutina Perl desde HTML

Notapor explorer » 2012-06-14 09:42 @446

Buenas...

El código que muestras es un trozo de código HTML que está dentro de un código Perl.

Lo que tienes que aprender es dónde está cada código en cada momento, y quién lo puede ejecutar.

Por ejemplo. Un usuario pide una página web. El servidor web ve la petición y ve que se trata de una página que no es estática, sino que será generada de forma dinámica (PHP, Perl, etc.). Lanzará un proceso para generar esa página. Da igual si será un proceso Perl o PHP, el resultado siempre ha de ser un página HTML, que el servidor web tomará y mandará al navegador del usuario. Éste la mostrará en pantalla. Y si tiene código JavaScript, lo ejecutará, pero ya dentro del navegador del usuario.

Como ves, hay procesos que corren en la parte del servidor, y otros en la parte del cliente.

Todo depende de lo que quieras hacer o lo que quieras que se ejecute en dónde o acceda a ciertos recursos.

Como comentas que quieres que se ejecute a través de un código JavaScript, ese código estamos suponiendo que se ejecutará en cuanto esté cargado en la parte del cliente.

Entonces... lo normal es que todo ese código esté escrito en JavaScript porque es lo que suelen traer los navegadores web. O puede ser un applet Java o también un programa dentro de un Flash escrito en ActionScript. Pero Perl, no. No hay Perl del lado del cliente(*). Solo del lado del servidor.

Si esa función f() es, por ejemplo, una consulta a una base de datos, de lo que estamos hablando es que el JavaScript, por acción del cliente al pulsar un botón, por ejemplo, queremos hacer llegar una consulta al servidor, y allí sí que puede haber código Perl que reciba la petición y la responda.

Es lo que se suele hacer con Ajax, por ejemplo.

Del lado del servidor, los programas Perl pueden seguir el protocolo CGI o el SOAP, o simplemente devolver la información solicitada por medio de JSON o YAML...

Luego, desde el lado del cliente, se recibe la respuesta, y la muestra renderizada en HTML al usuario.

(*)bueno, sí que es posible tener Perl en el lado del cliente... con Perlito puedes compilar un trozo de código Perl que no sea muy complicado, a JavaScript, que luego podrás incrustar dentro de la página HTML.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Llamada a subrutina Perl desde HTML

Notapor princi » 2012-06-28 06:46 @323

¡¡Muchas gracias por tu tiempo, explorer!!
princi
Perlero nuevo
Perlero nuevo
 
Mensajes: 16
Registrado: 2012-01-31 08:00 @375


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 38 invitados