next up previous contents index practicapracticaPP2moodleLHPmoodlepserratacpanmodulospauseperlgoogleetsiiullpcgull
Sig: Escalares Sup: Las Bases Ant: Las Bases Err: Si hallas una errata ...

Introducción

El fuente Perl lo puede encontrar en la página Web:

http://www.perl.com/pub/language/info/software.html.

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.pl
La 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"'
16
Obsé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).



Subsecciones
next up previous contents index practicapracticaPP2moodleLHPmoodlepserratacpanmodulospauseperlgoogleetsiiullpcgull
Sig: Escalares Sup: Las Bases Ant: Las Bases Err: Si hallas una errata ...
Casiano Rodríguez León
2006-02-21