El fuente Perl lo puede encontrar en la página Web:
Se encuentran disponibles los fuentes y los binarios para distintos sistemas.
Generalmente, lo que hay que hacer es descomprimir la distribución elegida y seguir las instrucciones del manual de instalación.
Comprueba que perl existe en tu ordenador:
$perl -v This is perl, version 5.005_03 built for i386-linux Copyright 1987-1999, Larry Wall
Comprueba en que directorio se guarda el ejecutable:
$ which perl /usr/bin/perl
Edita y guarda el fichero hola.pl. Cambia los permisos de ejecución:
>vi hola.pl > ... salimos y salvamos ... >cat hola.pl #!/usr/bin/perl -w print "hola!\n"; > >chmod a+x hola.plLa primera línea, comenzando por
#!
indica
al intérprete de comandos en que lugar se encuentra el interprete
para este guión, esto es, donde se encuentra perl
.
La opción -w
(la w
viene de warnings)
le indica al intérprete perl
que debe advertirnos de cualquier potencial error que detecte.
La conducta de Perl es, en general, permisiva
con el usuario. Es conveniente hacer uso siempre de
esta opción.
Ahora ya puedes ejecutar tu primer programa Perl:
>./hola.pl
También podríamos haber escrito:
$ perl -w hola.pl hola!
o bien haber usado el depurador para ejecutar el
programa paso a paso. El depurador de Perl se activa
usando la opción -d
del intérprete:
1 $ perl -d hola.pl 2 3 Loading DB routines from perl5db.pl version 1.25 4 Editor support available. 5 6 Enter h or `h h' for help, or `man perldebug' for more help. 7 8 main::(hola.pl:2): print "hola!\n"; 9 DB<1> h 10 List/search source lines: Control script execution: 11 l [ln|sub] List source code T Stack trace 12 - or . List previous/current line s [expr] Single step [in expr] 13 v [line] View around line n [expr] Next, steps over subs 14 f filename View source in file <CR/Enter> Repeat last n or s 15 /pattern/ ?patt? Search forw/backw r Return from subroutine 16 M Show module versions c [ln|sub] Continue until position 17 Debugger controls: L List break/watch/actions 18 o [...] Set debugger options t [expr] Toggle trace [trace expr] 19 <[<]|{[{]|>[>] [cmd] Do pre/post-prompt b [ln|event|sub] [cnd] Set breakpoint 20 ! [N|pat] Redo a previous command B ln|* Delete a/all breakpoints 21 H [-num] Display last num commands a [ln] cmd Do cmd before line 22 = [a val] Define/list an alias A ln|* Delete a/all actions 23 h [db_cmd] Get help on command w expr Add a watch expression 24 h h Complete help page W expr|* Delete a/all watch exprs 25 |[|]db_cmd Send output to pager ![!] syscmd Run cmd in a subprocess 26 q or ^D Quit R Attempt a restart 27 Data Examination: expr Execute perl code, also see: s,n,t expr 28 x|m expr Evals expr in list context, dumps the result or lists methods. 29 p expr Print expression (uses script's current package). 30 S [[!]pat] List subroutine names [not] matching pattern 31 V [Pk [Vars]] List Variables in Package. Vars can be ~pattern or !pattern. 32 X [Vars] Same as "V current_package [Vars]". i class inheritance tree. 33 y [n [Vars]] List lexicals in higher scope <n>. Vars same as V. 34 For more help, type h cmd_letter, or run man perldebug for all docs. 35 DB<1> l 36 2==> print "hola!\n"; 37 DB<1> n 38 hola! 39 Debugged program terminated. Use q to quit or R to restart, 40 use O inhibit_exit to avoid stopping after program termination, 41 h q, h R or h O to get additional info. 42 DB<1> q 43 $El comando
h
(línea 9) permite obtener ayuda.
Con l
(línea 35) podemos listar el programa.
La orden n
(línea 37) nos permite ejecutar paso a paso.
A diferencia de la orden s
, en el caso de
que la instrucción sea una llamada a subrutina,
no se entra en la subrutina. Por último, la orden
q
nos permite salir del depurador.
La opción -e
del intérprete perl
nos permite
ejecutar un programa dado desde la línea de comandos, en vez de usar un fichero:
$ perl -e 'print 4**2,"\n"' 16Obsérvese como se han utilizado comillas simples para proteger el programa Perl de su posible itnerpretación por el intérprete de comandos del sistema ( de la shell).