<?xml version="1.0" encoding="utf8"?>
<!DOCTYPE html
	PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<HTML>
<HEAD>
   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=uft8">
   <META NAME="DATE" CONTENT="11/2/2003">
   <META NAME="Author" CONTENT="J. J. Merelo">
   <META NAME="Description" CONTENT="Tutorial de PERL en castellano, con ejemplos y ejercicios">
   <META NAME="Keywords" CONTENT="curso de perl, tutorial de perl, manual de perl, programacion"> 
   <TITLE>Tutorial de Perl: Mi primer programa en Perl  </TITLE>
<script language="JavaScript">
var contador = 1;
var contadores= new Array;
function multicontador(  numero ) {
      if ( ! contadores[ numero ]  )
          contadores[ numero ] = 1;
      else
          contadores[numero ]++;
      document.write( contadores[numero] );
};

</script>
<link rel ='stylesheet' type = "text/css" href = "perl.css">
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#ffffff" LINK="#0000FF" VLINK="#551A8B" ALINK="#FF0000">
<TABLE  align=center cellpadding=5 bgcolor='darkseagreen'>
	<tr>

	<td>
			 <!-- Atomz.com Search HTML for Tutorial de PERL en castellano -->
	  <form method="get" action="http://search.atomz.com/search/">
	    <input size=25 name="sp-q"><br /><input type=submit value="Busca en el tutorial">
	    <input type=hidden name="sp-a" value="0002147b-sp00000001">
	  </form>
	</td>

	<td align='center'>
			<h1><a href='indice.html'>Tutorial de <strong>PERL</strong> en castellano </a>:Mi primer programa en Perl</h1>
	</td>

    <td align='right' valign='top'><a href='tutoperl16.html'> Preguntas frecuentemente preguntadas</a><br><a href='tutoperl2.html'>¿C&oacute;mo se usa?</a><br><a href='tutoperl17.html'> Bibliograf&iacute;a.</a><br><a href='tutoperl18.html'> Recursos Internet</a><br><a href='tutoperl4.html'> M&aacute;s dif&iacute;cil todav&iacute;a</a><br></td>
	</tr>
</table>

<h3>Cómo escribir y ejecutar un programa simple <strong>Perl</strong></h3>

 

<P>Escribir el archiconocido <A HREF="passa.pl.html">"Hola" en <strong>Perl</strong></A> no puede
ser m&aacute;s f&aacute;cil:</p><PRE>
print "Passa, tio\n";
</pre>
<p>Y eso es todo. No hay necesidad de abrir el programa, ni de cerrarlo, ni
de incluir librer&iacute;as est&aacute;ndar o no, ni nada de nada. Solamente
hay que tener cuidado de terminar todas las sentencias con<code>;.
\n</code>, que se suele leer "escape-N", tiene el mismo significado que en C; es decir, un retorno de
carro.</p>

<P>Ejecutarlo es otro cantar; o mejor dicho, muchos
cantares, una cantata entera. El <strong>Perl</strong> siempre Hay Muchas Formas de Hacer
Las Cosas<SUP>TM</SUP>. Al menos tres, en este caso.
<OL>
<LI>
Guarda el programa en un fichero, llam&eacute;moslo
<code>passa.pl</code>. Se puede ejecutar con<pre><code>
C:\PROGS\Perl>perl passa.pl
Passa, tio
</code></pre>Todo esto suponiendo que <strong>Perl</strong> esté en el 
PATH de ejecución, claro está.</li>
<LI>
Pasa de guardar el programa en un fichero y ejec&uacute;talo directamente.
Se le da el switch<code>-e</code> al int&eacute;rprete
para indicar que se debe ejecutar el script que viene a continuaci&oacute;n
(y ojo con las comillas)<pre><code>
C:\PROGS\PERL>perl -e 'print "Passa, tio\n";'
Passa, tio</code></pre></li>
<LI>
Si est&aacute;s en UNIX, se utiliza una sintaxis similar a los scripts
del int&eacute;rprete de comandos, es decir, guardar el fichero con una
primera l&iacute;nea que indica d&oacute;nde est&aacute; el int&eacute;rprete
que va a ejecutar el resto del fichero. En el caso del <strong>Perl</strong>, puede ser
algo como<code> #!/usr/local/bin/perl</code>, o  <code> #!/usr/bin/perl</code> en <a
href=http://www.redhat.com target=_new>RedHat Linux</a>, por ejemplo)
(los s&iacute;mbolos 
iniciales se suelen denominar <I>pound-bang</I>, o
almohadilla-admiraci&oacute;n, 
en rom&aacute;n paladino). En todo caso, habr&aacute; que sustituirlo por
el camino completo donde habita el int&eacute;rprete de <strong>Perl</strong> (si no se
sabe, recurre al comando de UNIX<code>which</code> (como
hemos visto antes), o, por &uacute;ltimo, al operador de tu sistema; ahora,
que si t&uacute; mismo eres el operador de tu sistema y no sabes como hacerlo,
tienes un problema, t&iacute;o... Bueno, siempre te queda la internet).
Tras salvar el fichero, habr&aacute; que dar la orden<PRE><code>
UNIX% chmod +x passa.pl
</code></pre> para convertirlo en ejecutable; hecho eso, se
puede ejecutar directamente escribiendo
<pre><code>UNIX% passa.pl
Passa, tio</code></pre></li>

<li>
<table><tr><td><IMG SRC="pantalla1.gif" alt="[Pantalla Windows para
crear un acceso directo"]"></td><td><IMG SRC="image1.jpg"
alt="[Pantalla Windows para declarar extensiones .pl]"></td></tr></table>

  En
Windows y familia, hay al menos dos formas de hacerlo<SUP>TM</SUP>(suponiendo,
claro est&aacute;, que le pille de buenas y te deje hacer algo). Tras instalar
la versi&oacute;n de <A HREF="http://www.activestate.com/Solutions/Programmer/Perl.plex"><strong>Perl</strong> para WinXX 
de la Internet, de la empresa ActiveState</A>, se crea un acceso directo
a <code>perl.exe</code> y se copia al directorio
<code>\Windows\SendTo</code>; 
esto har&aacute; que aparezca <strong>Perl</strong> dentro del men&uacute; <I>enviar a</I>, 
que es una de las opciones del men&uacute; que surge al pulsar con el
bot&oacute;n 
derecho del rat&oacute;n.<br />
Otra forma es m&aacute;s espec&iacute;fica para ficheros de tipo <code>.pl</code>, 
y es el mismo mecanismo que se usa para asignar iconos y programas ejecutables
a los ficheros no ejecutables: en la carpeta MiPC, pasar a Ver - Opciones
y pulsar sobre la pesta&ntilde;a Tipos de Archivo: Se crea un nuevo tipo
que sean "Programas en Perl", y se le pueden asignar acciones como edici&oacute;n
o ejecuci&oacute;n; de esta forma, con s&oacute;lo pulsar dos veces sobre
el icono, se ejecuta el programa.
</li></ol>

<TABLE width=200 cellpadding=2 cellspacing=0 border=0 align=right>
    <tr><td bgcolor=black>
    <TABLE width=100% cellpadding=4 cellspacing=0 border=0>

<tr><td bgcolor="white">
Para trabajar con Perl en Windows, se puede ver <a
href='http://www.amazon.com/exec/obidos/ASIN/0879305894/perltutobyjjmere'><em>Automating 
Windows with PERL, por Scott McMahan </em>.<br><br>
<a
href='http://www.amazon.com/exec/obidos/ASIN/0879305894/perltutobyjjmere'>
<center><img src=0879305894.01.MZZZZZZZ.gif alt="[Automating Windows
with Perl front page]" align=center border=0></center></a>
</td></tr></table></td></tr></table>

<P>Para editar un programa en <strong>Perl</strong>, lo m&aacute;s adecuado es conseguir
un editor para programadores, porque el lenguaje no incluye un entorno
integrado de programaci&oacute;n. Lo m&aacute;s parecido a tal entorno
integrado, tanto en Win95/NT como en UNIX, es el <code>emacs</code>,
puesto que tiene un <I>modo <strong>Perl</strong></I> de edici&oacute;n, que tiene en cuenta
indentaciones y otras particularidades de su sintaxis, como el emparejamiento
de par&eacute;ntesis y llaves y los comentarios, y asigna diferente color
a las palabras dependiendo del contexto. Otra opci&oacute;n con unos pocos
menos megas puede ser cualquier editor de programador con diferentes opciones
dependiendo de la extensi&oacute;n del programa, como el <I>Programmer&acute;s
File Editor</i>. Aunque, por supuesto, si puedes conseguirte el <a
href=http://www.xemacs.org>emacs para Windows</a>, es con diferencia lo mejor.</p>




<TABLE  align=center cellpadding=5 bgcolor='darkseagreen'><tr><td>[<a href='tutoperl16.html'> Preguntas frecuentemente preguntadas</a>] [<a href='tutoperl2.html'>¿C&oacute;mo se usa?</a>] [<a href='tutoperl17.html'> Bibliograf&iacute;a.</a>] [<a href='tutoperl18.html'> Recursos Internet</a>] [<a href='tutoperl4.html'> M&aacute;s dif&iacute;cil todav&iacute;a</a>] </td></tr></table>

</BODY>
</HTML>
