En aquest tema, aprendrem sobre els mòduls i paquets en Perl, que són fonamentals per organitzar i reutilitzar el codi. Els mòduls permeten dividir el codi en unitats més petites i manejables, mentre que els paquets ajuden a evitar conflictes de noms.

Continguts

  1. Introducció als Mòduls i Paquets
  2. Creació d'un Mòdul Perl
  3. Ús de Mòduls Existents
  4. Paquets i Espais de Noms
  5. Exercicis Pràctics

  1. Introducció als Mòduls i Paquets

Què és un Mòdul?

Un mòdul en Perl és un fitxer que conté subrutines, variables i altres elements que es poden reutilitzar en altres programes Perl. Els mòduls ajuden a mantenir el codi organitzat i modular.

Què és un Paquet?

Un paquet és una manera de crear un espai de noms separat per a les variables i subrutines, evitant conflictes de noms. Els paquets es defineixen amb la paraula clau package.

  1. Creació d'un Mòdul Perl

Passos per Crear un Mòdul

  1. Crear un Fitxer de Mòdul: El nom del fitxer ha de coincidir amb el nom del mòdul i ha de tenir l'extensió .pm.
  2. Definir un Paquet: Utilitza la paraula clau package per definir el paquet.
  3. Exportar Subrutines: Utilitza el mòdul Exporter per exportar subrutines.
  4. Finalitzar amb 1;: El mòdul ha de retornar un valor veritable.

Exemple de Mòdul

# Fitxer: MyModule.pm
package MyModule;
use strict;
use warnings;
use Exporter 'import';

# Subrutines a exportar
our @EXPORT_OK = ('hello');

sub hello {
    my $name = shift;
    return "Hello, $name!";
}

1; # El mòdul ha de retornar un valor veritable

Explicació del Codi

  • package MyModule;: Defineix el paquet MyModule.
  • use Exporter 'import';: Utilitza el mòdul Exporter per exportar subrutines.
  • our @EXPORT_OK = ('hello');: Defineix les subrutines que es poden exportar.
  • sub hello { ... }: Defineix la subrutina hello.
  • 1;: El mòdul ha de retornar un valor veritable.

  1. Ús de Mòduls Existents

Carregar un Mòdul

Per utilitzar un mòdul en un programa Perl, utilitza la paraula clau use.

use MyModule qw(hello);

print hello("World");

Explicació del Codi

  • use MyModule qw(hello);: Carrega el mòdul MyModule i importa la subrutina hello.
  • print hello("World");: Crida la subrutina hello i imprimeix el resultat.

  1. Paquets i Espais de Noms

Definició d'un Paquet

Un paquet es defineix amb la paraula clau package.

package MyPackage;

sub my_sub {
    return "This is a subroutine in MyPackage.";
}

1;

Ús de Paquets

Per utilitzar subrutines d'un paquet, especifica el nom del paquet.

use MyPackage;

print MyPackage::my_sub();

Explicació del Codi

  • package MyPackage;: Defineix el paquet MyPackage.
  • sub my_sub { ... }: Defineix la subrutina my_sub.
  • print MyPackage::my_sub();: Crida la subrutina my_sub del paquet MyPackage.

  1. Exercicis Pràctics

Exercici 1: Crear un Mòdul

Objectiu: Crea un mòdul anomenat MathOperations que contingui subrutines per sumar i restar dos nombres.

Solució:

# Fitxer: MathOperations.pm
package MathOperations;
use strict;
use warnings;
use Exporter 'import';

our @EXPORT_OK = ('add', 'subtract');

sub add {
    my ($a, $b) = @_;
    return $a + $b;
}

sub subtract {
    my ($a, $b) = @_;
    return $a - $b;
}

1;

Exercici 2: Utilitzar el Mòdul

Objectiu: Escriu un programa que utilitzi el mòdul MathOperations per sumar i restar dos nombres.

Solució:

use MathOperations qw(add subtract);

my $sum = add(10, 5);
my $difference = subtract(10, 5);

print "Sum: $sum\n";
print "Difference: $difference\n";

Conclusió

En aquest tema, hem après a crear i utilitzar mòduls i paquets en Perl. Els mòduls ens permeten organitzar el codi en unitats reutilitzables, mentre que els paquets ens ajuden a evitar conflictes de noms. Hem vist exemples pràctics de com crear un mòdul, exportar subrutines i utilitzar paquets. A més, hem practicat aquests conceptes amb exercicis pràctics. En el proper tema, explorarem el Perl Orientat a Objectes.

© Copyright 2024. Tots els drets reservats