Fonction ouverte Perl
La description
Cette fonction ouvre un fichier à l'aide du descripteur de fichier spécifié. Le descripteur de fichier peut être une expression, la valeur résultante est utilisée comme descripteur. Si aucun nom de fichier n'est spécifié, une variable portant le même nom que le descripteur de fichier utilisé (il doit s'agir d'une variable scalaire avec une valeur de chaîne faisant référence au nom de fichier). Le nom de fichier spécial «-» fait référence à STDIN et «> -» fait référence à STDOUT.
Syntaxe
Voici la syntaxe simple de cette fonction -
open FILEHANDLE, EXPR, LIST
open FILEHANDLE, EXPR
open FILEHANDLE
Valeur de retour
Cette fonction renvoie o en cas d'échec et 1 en cas de succès.
Exemple
Voici la syntaxe pour ouvrir file.txt en mode lecture seule. Ici, moins de <signe indique que le fichier doit être ouvert en mode lecture seule.
open(DATA, "<file.txt");
Ici, DATA est le descripteur de fichier qui sera utilisé pour lire le fichier. Voici l'exemple qui ouvrira un fichier et imprimera son contenu sur l'écran.
#!/usr/bin/perl
open(DATA, "<file.txt");
while(<DATA>) {
print "$_";
}
Voici la syntaxe pour ouvrir file.txt en mode écriture. Ici, le signe inférieur à> indique que le fichier doit être ouvert en mode écriture -
open(DATA, ">file.txt");
Cet exemple tronque (vide) le fichier avant de l'ouvrir pour l'écriture, ce qui peut ne pas être l'effet souhaité. Si vous souhaitez ouvrir un fichier en lecture et en écriture, vous pouvez mettre un signe plus avant les caractères> ou <.
Par exemple, pour ouvrir un fichier à mettre à jour sans le tronquer -
open(DATA, "+<file.txt");
Pour tronquer d'abord le fichier -
open DATA, "+>file.txt" or die "Couldn't open file file.txt, $!";
Vous pouvez ouvrir un fichier en mode ajout. Dans ce mode, le point d'écriture sera défini à la fin du fichier.
open(DATA,">>file.txt") || die "Couldn't open file file.txt, $!";
Un double >> ouvre le fichier à ajouter, en plaçant le pointeur de fichier à la fin, de sorte que vous pouvez immédiatement commencer à ajouter des informations. Cependant, vous ne pouvez pas le lire sauf si vous placez également un signe plus devant lui -
open(DATA,"+>>file.txt") || die "Couldn't open file file.txt, $!";
Voici le tableau qui donne les valeurs possibles des différents modes.
Entities Definition
< or r Read Only Access
> or w Creates, Writes, and Truncates
>> or a Writes, Appends, and Creates
+< or r+ Reads and Writes
+> or w+ Reads, Writes, Creates, and Truncates
+>> or a+ Reads, Writes, Appends, and Creates