fseek? [perl - debutante] - Perl - Programmation
Marsh Posté le 22-05-2002 à 17:05:29
A ma connaissance il n'existe pas de fseek avec Perl mais il doit être possible de trouver un module d'extension en cherchant bien...
Sinon quand tu as un fichier texte pas trop gros tu peux le charger dans un tableau et ensuite te promener dans le tableau.
Du style :
open(FIC,"fic.txt" );
@tableau = <FIC>;
Ensuite la première ligne se trouve dans $tableau[0] et ainsi de suite... C'est bourrin mais ça marche...
Marsh Posté le 22-05-2002 à 17:15:56
en bourrin g aussi : je close et reouvre...
pas tres elegant.
Marsh Posté le 22-05-2002 à 17:29:10
Bon g dit une connerie...
Il existe une fonction seek :
"seek HANDLEFICHIER, POSITION, DEPART"
Pour DEPART c'est 0=début du fichier, 1=position courante, 2=fin du fichier.
POSITION représente le déplacement en octets par rapport à DEPART.
Donc retour au début = seek FIC, 0, 0
Marsh Posté le 23-05-2002 à 09:36:10
Alors ça marche ? Parce que j'ai jamais essayé en fait...
Marsh Posté le 23-05-2002 à 09:50:31
impec oui. merci bp
je m attaque a la comprehension approfondie des expreg, t eloignes pas trop je sens que je risque de pas tout comprendre du premier coup
Marsh Posté le 23-05-2002 à 11:01:26
prettysmile a écrit a écrit : impec oui. merci bp je m attaque a la comprehension approfondie des expreg, t eloignes pas trop je sens que je risque de pas tout comprendre du premier coup |
On dit regex quand on est un pro.
Marsh Posté le 23-05-2002 à 11:13:04
toi t as pas voulu m aider alors... (tu connais PERL?, tu ne me l avais pas dit)
et quand on est un pro on utilise rowspan ( )
Marsh Posté le 23-05-2002 à 11:16:15
Putain, c'est pas fini s't'affaire de rowspan, j'ai l'air de quoi moi maintenant !!! Et puis tu le savais non plus que mon code était mauvais. On a appris pareil.
Quand aux regex, c'est générique dans les langages communautaires, comme Perl et PHP, donc c'est de PHP que me vient l'expression (régulière) regex, de plus j'avais essayé Perl l'an dernier mais je sais plus faire.
Marsh Posté le 23-05-2002 à 11:26:53
Citation : j'avais essayé Perl l'an dernier mais je sais plus faire |
la tu me decoit
Marsh Posté le 23-05-2002 à 11:27:29
prettysmile a écrit a écrit :
|
J'avais fait un HelloWorld pendant le cours de C de Ernst. C'est juste un test quoi.
Marsh Posté le 23-05-2002 à 11:30:06
en en parlant, si tu le croises fais lui la bise
print "bisous monsieur nernst";
Marsh Posté le 23-05-2002 à 11:31:13
OK, je n'y manquerai pas (il va pas comprendre ). Je descends au service logement, @+
Marsh Posté le 29-05-2002 à 14:18:20
prettysmile a écrit a écrit : et y a un equivalent de switch/case? |
non, pas d'équivalent en Perl
Mais bon, avec une série de if, elsif, else, tu t'en sort tout aussi bien
Et c pas plus illisible qu'un gros switch case
Marsh Posté le 29-05-2002 à 14:19:19
D'autant que dans certains cas, j'utilise un hash pour parvenir à mes fins, c'est bcp plus rapide qu'un test à plusieurs choix
Marsh Posté le 22-05-2002 à 16:46:46
open(FIC,"poeme.txt" )||die("pb d ouverture fichier d entree\n" );
open(OUT,">motseneau.txt" )||print "probleme de fichier de sortie";
while(<FIC> ){
@mots=split();
foreach $i (0..$#mots){
if($mots[$i]=~/eau/){
print "$mots[$i]\n";
}
}
}
close(OUT);
close(FIC);
p'ti exo pipo, je sais mais je debute juste.
Et si arrivee la, il me prend l envie de retourner au debut du fichier?, quelles sont les fonctions qui permettent de se ballader dans un fichier? existe t il un fseek pour PERL?