Un paquete de Perl es una colección de código que reside en su propio espacio de nombres. El módulo Perl es un paquete definido en un archivo que tiene el mismo nombre que el del paquete y tiene la extensión .pm . Dos módulos diferentes pueden contener una variable o una función del mismo nombre. Cualquier variable que no esté contenida en ningún paquete pertenece al paquete principal. Por lo tanto, todas las variables que se utilizan pertenecen al paquete ‘principal’. Con la declaración de paquetes adicionales se mantiene que las variables en diferentes paquetes no interfieren entre sí.
El nombre del módulo debe ser el mismo que el nombre del paquete y tiene una extensión .pm.
Ejemplo: Calculadora.pm
package Calculator; # Defining sub-routine for Addition sub addition { # Initializing Variables a & b $a = $_[0]; $b = $_[1]; # Performing the operation $a = $a + $b; # Function to print the Sum print "\n***Addition is $a"; } # Defining sub-routine for Subtraction sub subtraction { # Initializing Variables a & b $a = $_[0]; $b = $_[1]; # Performing the operation $a = $a - $b; # Function to print the difference print "\n***Subtraction is $a"; } 1;
Aquí, el nombre del archivo es «Calculator.pm» almacenado en el directorio Calculator. Note que 1; se escribe al final del código para devolver un valor verdadero al intérprete. Perl acepta cualquier cosa que sea verdadera en lugar de 1.
Para usar este módulo de calculadora, usamos las funciones require o use. Para acceder a una función o una variable desde un módulo, se utiliza ::. Aquí hay un ejemplo que demuestra lo mismo:
Ejemplos: Test.pl
#!/usr/bin/perl # Using the Package 'Calculator' use Calculator; print "Enter two numbers to add"; # Defining values to the variables $a = 10; $b = 20; # Subroutine call Calculator::addition($a, $b); print "\nEnter two numbers to subtract"; # Defining values to the variables $a = 30; $b = 10; # Subroutine call Calculator::subtraction($a, $b);
Producción:
Si un archivo que accede al paquete se encuentra fuera del directorio, usamos ‘::’ para indicar la ruta del módulo. Por ejemplo, el archivo que usa el módulo de la calculadora está fuera del paquete de la calculadora, por lo que escribimos Calculadora::Calculadora para cargar el módulo, donde el valor a la izquierda de ‘::’ representa el nombre del paquete y el valor a la derecha de ‘::’ representa el módulo Perl nombre. Veamos un ejemplo para entender esto:
Ejemplos: Test_out_package.pl fuera del directorio de la Calculadora
#!/usr/bin/perl use GFG::Calculator; # Directory_name::module_name print "Enter two numbers to add"; # Defining values to the variables $a = 10; $b = 20; # Subroutine call Calculator::addition($a, $b); print "\nEnter two numbers to subtract"; # Defining values to the variables $a = 30; $b = 10; # Subroutine call Calculator::subtraction($a, $b);
Producción:
Las variables de diferentes paquetes se pueden usar declarándolas antes de usarlas. El siguiente ejemplo demuestra esto
Ejemplos: Mensaje.pm
#!/usr/bin/perl package Message; # Variable Creation $username; # Defining subroutine sub Hello { print "Hello $username\n"; } 1;
El archivo Perl para acceder al módulo es el siguiente
Ejemplos: variable.pl
#!/usr/bin/perl # Using Message.pm package use Message; # Defining value to variable $Message::username = "ABC"; # Subroutine call Message::Hello();
Producción:
El bloque BEGIN y END se usa cuando queremos ejecutar una parte del código al principio y otra parte del código al final. Los códigos escritos dentro de BEGIN{…} se ejecutan al principio del script, mientras que los códigos escritos dentro de END{…} se ejecutan al final del script. El siguiente programa demuestra esto:
Ejemplos: begineg.pl
#!/usr/bin/perl # Predefined BEGIN block BEGIN { print "In the begin block\n"; } # Predefined END block END { print "In the end block\n"; } print "Hello Perl;\n";
Producción:
In the begin block Hello Perl; In the end block
Publicación traducida automáticamente
Artículo escrito por rupanisweety y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA