<?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:   &iquest;Qu&eacute; es?  </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>:  &iquest;Qu&eacute; es?</h1>
	</td>

    <td align='right' valign='top'><a href='tutoperl1.html'> &iquest;Para qu&eacute; sirve?</a><br><a href='tutoperl16.html'> Preguntas frecuentemente preguntadas</a><br><a href='tutoperl17.html'> Bibliograf&iacute;a.</a><br><a href='tutoperl18.html'> Recursos Internet</a><br><a href='historia.htm'>  Breve historia del lenguaje PERL</a><br></td>
	</tr>
</table>

<h3>Definiciones b&aacute;sicas de Perl</h3>



<P><strong>Perl</strong> significa Practical Extraction and Report Language, algo as&iacute;
como lenguaje pr&aacute;ctico de extracci&oacute;n y de informes. Es un
lenguaje creado por <I>Larry Wall</I> (quien, por cierto, es uno de los
<code>net.gods</code> m&aacute;s conocidos en la actualidad)
con el objetivo principal de simplificar las tareas de administraci&oacute;n
de un sistema UNIX; en realidad hoy en d&iacute;a (en su versi&oacute;n
5.005, y posiblemente pronto, la 5.6) se ha convertido en un lenguaje de prop&oacute;sito general, y una
de las principales herramientas de un buen internetero y de un buen webmaster.</p>

<P>Larry Wall es el tipo de personas que han hecho de la Internet lo que
es ahora: un lugar con libre intercambio de ideas, donde los que saben
de algo, los <I>gurus</I>, ayudan al que no sabe. <A HREF="mailto:larry@wall.org">Larry
(<code>larry@wall.org</code>)</A> sol&iacute;a ser un habitual del<A HREF="http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&group=comp.lang.perl">
grupo de usenet <code>comp.lang.perl</code></A>, y era habitual
que el propio Larry contestara a una pregunta de un principiante o a un error
con un parche para solucionarlo. Hoy en d&iacute;a, desgraciadamente, ya no
es tan común, porque el esfuerzo de trabajar con la comunidad Perl es
tal que no le deja mucho tiempo.</p>

<P><strong>Perl</strong> es un lenguaje que hereda ciertas estructuras de los int&eacute;rpretes
de comandos de UNIX, especialmente el <code>csh</code>,
y de otras utilidades est&aacute;ndar, como <code>awk</code>
y <code>sed</code>. Aparte de esto, est&aacute; dise&ntilde;ado para hacer todo lo que
hacen cualquiera de ellos y todos ellos juntos, y la mayor&iacute;a de las
veces de forma m&aacute;s simple, comprensible y f&aacute;cil de
depurar (aunque algunas veces no muy f&aacute;cil de entender).
Si alguna vez habeis tratado de escribir un <I>script</I> para el <I>shell</I>,
sab&eacute;is lo que quiero decir.</p>

<P><strong>Perl</strong> es un lenguaje
interpretado, aunque en realidad, el int&eacute;rprete de <strong>Perl</strong>, como todos los int&eacute;rpretes
modernos, compila los programas antes de ejecutarlos. Por eso se habla de <I>scripts</I>, y no de programas, concepto
referido principalmente a programas compilados al lenguaje m&aacute;quina
nativo del ordenador y sistema operativo en el que se ejecuta.</p>

<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>
El mejor libro de referencia sobre el Perl es <a
href='http://www.amazon.com/exec/obidos/ASIN/0596000278/perltutobyjjmere'><em>Programming 
Perl, por Larry Wall y otros</em> </a>(llamado el <em>libro del
camello</em> por razones obvias). Aparte de la referencia, vienen
ejemplos, reglas de estilo, y es bastante divertido.<br><br>
<a
href='http://www.amazon.com/exec/obidos/ASIN/0596000278/perltutobyjjmere'>
<center><img src=1565921496.01.LZZZZZZZ.jpg alt="[Programming Perl front page]" align=center border=0></center></a>
</td></tr></table></td></tr></table>

<P>A pesar de que la versi&oacute;n actual del int&eacute;rprete de <strong>Perl</strong>
es la 5, a veces se puede uno encontrar la versi&oacute;n 4.036,
el &uacute;ltimo <I>patchlevel</I> de la versi&oacute;n 4 y probablemente
el m&aacute;s estable. Actualmente, en enero del 2003, la versi&oacute;n
estable es la 5.8, con una nueva versi&oacute;n 6 en desarrollo que va a ser
la ca&ntilde;a de Espa&ntilde;a, pero que todav&iacute;a se har&aacute; de esperar un cierto tiempo. La
versi&oacute;n 5 es pr&aacute;cticamente compatible 100% con la 4; virtualmente
todos los scripts que funcionan para la versi&oacute;n 4 lo hacen tambi&eacute;n
en la 5. La mayor parte de los scripts presentados en este tutorial est&aacute;n desarrollados
para la versi&oacute;n 4 (porque las primeras versiones de este
tutorial son del a&ntilde;o 94), pero deber&iacute;an de funcionar, en principio,
para la versi&oacute;n 5 o cualquier otra versi&oacute;n. Cuando son para la versi&oacute;n 5 de <strong>Perl</strong>, se indicar&aacute; expl&iacute;citamente
con este signo <span class='v5'>v5</span>.</p>

<P>Aunque desarrollado originalmente en un entorno UNIX, actualmente hay
versiones para casi todos los sistemas operativos:
Windows XP, Amiga, MacOS (ver <A HREF="tutoperl17.html">Bibliograf&iacute;a/Recursos</A>.).
Los scripts son compatibles entre las diversas plataformas, de forma que
es un verdadero lenguaje multiplataforma. Muchos fabricantes lo incluyen
en sus versiones de UNIX; tambi&eacute;n el Linux lo incluye. Si quieres
saber si est&aacute; en tu UNIX, escribe simplemente<pre>
UNIX% which perl
/usr/local/bin/perl
</pre>
<p>y si contesta algo similar
a lo anterior, es que est&aacute; instalado en el sistema. En alg&uacute;n
otro "sistema operativo", como Windows xx, acu&eacute;rdate de si lo instalaste
o no, debe de estar en alg&uacute;n lado en tu disco duro. Para bajarte la
&uacute;ltima versi&oacute;n, consultar el apartado <a href='tutoperl18.html'>de enlaces</a></p>&nbsp;


<TABLE  align=center cellpadding=5 bgcolor='darkseagreen'><tr><td>[<a href='tutoperl1.html'> &iquest;Para qu&eacute; sirve?</a>] [<a href='tutoperl16.html'> Preguntas frecuentemente preguntadas</a>] [<a href='tutoperl17.html'> Bibliograf&iacute;a.</a>] [<a href='tutoperl18.html'> Recursos Internet</a>] [<a href='historia.htm'>  Breve historia del lenguaje PERL</a>] </td></tr></table>

</BODY>
</HTML>
