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
Obtenir la mida d'un fitxer
Eliminar un 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.
Curs de Programació en Perl
Mòdul 1: Introducció al Perl
Mòdul 2: Programació Bàsica en Perl
Mòdul 3: Treballant amb Dades
Mòdul 4: Programació Intermèdia en Perl
Mòdul 5: Programació Avançada en Perl
- Expressions Regulars Avançades
- Interacció amb Bases de Dades amb DBI
- Programació Web amb Perl
- Multifil