Repaso: Fases de un Compilador

  1. ¿Que hace la declaración package nombredepaquete?
  2. ¿Cual es la función de la declaración use 5.008004?
  3. ¿Cuál es la función de la declaración use strict?
  4. ¿Cuál es la función de la declaración use warnings?
  5. ¿Que diferencia hay entre use warnings y perl -w?
  6. ¿Cuál es la función de la declaración use Carp? ¿Que diferencia hay entre croak y die?
  7. ¿Qué hace la declaración our?
  8. ¿Qué es una variable de paquete?
  9. ¿Cuál es el nombre completo de una variable de paquete?
  10. ¿En que variable especial se situán los argumentos pasados a una subrutina?
  11. ¿Que hace la declaración local?
  12. ¿Cómo se declara una variable léxica?
  13. ¿Cuál es el prefijo para los hashes?
  14. ¿Cómo se hace referencia a un elemento de un hash %h de clave k?
  15. ¿Cómo se hace referencia a un elemento de un array @a de índice 7? ¿Que lugar ocupa ese elemento en el array?
  16. ¿Cuál es el significado de undef?
  17. ¿Cuál es el prefijo para las subrutinas?
  18. Señale la diferencia entre
    my ($input) = @_;
    
    y
    my $input = @_;
    
    Repase [*] [2].
  19. Toda referencia es un escalar: ¿Cierto o falso?
  20. Toda referencia es verdadera ¿Cierto o falso?
  21. ¿Que diferencia hay entre use y require? ¿La línea require Exporter se ejecuta en tiempo de compilación o en tiempo de ejecución?
  22. ¿Que hace la línea our @ISA = qw(Exporter)?. Repáse [*] [2].

  23. ¿Que hace la línea our @EXPORT = qw( compile compile_from_file)?
  24. ¿Que diferencia hay entre EXPORT y EXPORT_OK?. Repase [*] [2].
  25. ¿Que hace la línea our $VERSION = '0.01?
  26. ¿Que valor tiene una variable no incializada? ¿y si es un array?
  27. ¿Que es un array anónimo? (Repase [*] [2])
  28. ¿Que es un hash anónimo? (Repase [*] [2])
  29. ¿Que hace el operador =>?. Repase [*] [2].
  30. ¿En que lugar se dejan los ejecutables asociados con una distribución? ¿Cómo se informa a Perl que se trata de ejecutables?
  31. ¿Cuál es la función de MANIFEST.SKIP? ¿Que hace make manifest?
  32. ¿Que hace la opción -I? ¿Porqué la primera línea de tutu.pl comienza:
    #!/usr/bin/perl -w -I../lib/?
  33. ¿Cómo puedo saber lo que hace el módulo lib? ¿Qué hace la línea use lib ('../lib') en el programa tutu?
  34. ¿Que contiene la variable PERL5LIB?
  35. ¿Cómo se crea una distribución?
  36. ¿Que devuelve -r $input_name en la línea 79? Repase [*] [2].
  37. ¿Cuál es la función de la variable mágica $/? ¿Que se leerá en la línea 86
    85   local $/ = undef;
    86   my $input = <$fhi>;
    
  38. ¿Que hace el operador \? ¿Que relación hay entre \$target y $target?.
  39. Si $targetref es una referencia a la cadena que va a contener el código objeto, ¿Cómo se denota a la cadena referenciada por $targetref? Explique la línea
    92   $fh->print($$targetref);
    

Casiano Rodríguez León
2009-12-09