La gestió de fitxers és una part fonamental de la programació en Perl. Aquest tema cobreix com obrir, llegir, escriure i tancar fitxers, així com algunes operacions comunes que es poden realitzar amb fitxers.

Continguts

Obrir i Tancar Fitxers

Per treballar amb fitxers en Perl, primer cal obrir-los. Això es fa amb la funció open. Un cop hem acabat de treballar amb el fitxer, és important tancar-lo amb la funció close.

Sintaxi

open(FILEHANDLE, "mode", "filename") or die "No es pot obrir el fitxer: $!";
# ... operacions amb el fitxer ...
close(FILEHANDLE);

Modes d'obertura

Mode Descripció
< Lectura
> Escriptura (sobreescriu)
>> Escriptura (afegeix)

Exemple

# Obrir un fitxer per lectura
open(my $fh, "<", "input.txt") or die "No es pot obrir el fitxer: $!";
# ... operacions amb el fitxer ...
close($fh);

# Obrir un fitxer per escriptura
open(my $fh, ">", "output.txt") or die "No es pot obrir el fitxer: $!";
# ... operacions amb el fitxer ...
close($fh);

Llegir Fitxers

Hi ha diverses maneres de llegir dades d'un fitxer en Perl.

Llegir línia per línia

open(my $fh, "<", "input.txt") or die "No es pot obrir el fitxer: $!";
while (my $line = <$fh>) {
    print $line;
}
close($fh);

Llegir tot el fitxer de cop

open(my $fh, "<", "input.txt") or die "No es pot obrir el fitxer: $!";
my @lines = <$fh>;
close($fh);

foreach my $line (@lines) {
    print $line;
}

Escriure Fitxers

Per escriure dades a un fitxer, podem utilitzar la funció print.

Exemple

open(my $fh, ">", "output.txt") or die "No es pot obrir el fitxer: $!";
print $fh "Aquesta és una línia de text.\n";
close($fh);

Afegir dades a un fitxer

open(my $fh, ">>", "output.txt") or die "No es pot obrir el fitxer: $!";
print $fh "Aquesta línia s'afegeix al final del fitxer.\n";
close($fh);

Operacions Comunes amb Fitxers

Comprovar si un fitxer existeix

if (-e "input.txt") {
    print "El fitxer existeix.\n";
} else {
    print "El fitxer no existeix.\n";
}

Obtenir la mida d'un fitxer

my $size = -s "input.txt";
print "La mida del fitxer és $size bytes.\n";

Eliminar un fitxer

unlink "output.txt" or warn "No es pot eliminar el fitxer: $!";

Exercicis Pràctics

Exercici 1: Llegir i Comptar Línies

Escriu un programa que llegeixi un fitxer de text i compti el nombre de línies que conté.

Solució

open(my $fh, "<", "input.txt") or die "No es pot obrir el fitxer: $!";
my $line_count = 0;
while (my $line = <$fh>) {
    $line_count++;
}
close($fh);
print "El fitxer té $line_count línies.\n";

Exercici 2: Escriure un Fitxer de Sortida

Escriu un programa que llegeixi un fitxer de text i escrigui el seu contingut a un altre fitxer, afegint números de línia al principi de cada línia.

Solució

open(my $in_fh, "<", "input.txt") or die "No es pot obrir el fitxer: $!";
open(my $out_fh, ">", "output.txt") or die "No es pot obrir el fitxer: $!";
my $line_number = 1;
while (my $line = <$in_fh>) {
    print $out_fh "$line_number: $line";
    $line_number++;
}
close($in_fh);
close($out_fh);

Conclusió

En aquesta secció, hem après com obrir, llegir, escriure i tancar fitxers en Perl. També hem vist algunes operacions comunes que es poden realitzar amb fitxers. Aquests conceptes són fonamentals per a la manipulació de dades en Perl i seran útils en molts contextos de programació. En el següent mòdul, explorarem les expressions regulars, una eina poderosa per treballar amb text.

© Copyright 2024. Tots els drets reservats