J'ai un fichier de 50 Mo, je souhaiterais le d=E9couper =E0 chaque fois
qu'il y a la balise <HTML> en un "fichier fille"
Voila se que j'ai fais et marche pas :
#!/usr/local/bin/perl -wn
BEGIN {
$file =3D "$0";
$/ =3D \<HTML>;
$n =3D 1;
}
unless( $n++ % \<HTML> ) { close F;
open F, "> $file.csv"
or die "Impossible de cr=E9er $file.csv: $!";
$file++;
}
print F;
L'erreur : $ perl -w cut-perl partie00
readline() on unopened filehandle HTML at cut-perl line 4.
Use of uninitialized value in <HANDLE> at cut-perl line 1.
readline() on unopened filehandle HTML at cut-perl line 7.
print() on unopened filehandle F at cut-perl line 12.
Use of uninitialized value in <HANDLE> at cut-perl line 12, <> chunk 1.
Ouvre les yeux... if ($line =~ s/(.*<s*/s*HTMLs*>).*/$1/i) {
;)
Stephane Zuckerman
if ($line =~ s/(.*<s*/s*HTMLs*>).*/$1/i) { Je n'aurais pas mis de tiret avant le i ... : s/.../.../i
-- "Je deteste les ordinateurs : ils font toujours ce que je dis, jamais ce que je veux !" "The obvious mathematical breakthrough would be development of an easy way to factor large prime numbers." (Bill Gates, The Road Ahead)
if ($line =~ s/(.*<s*/s*HTMLs*>).*/$1/i) {
Je n'aurais pas mis de tiret avant le i ... : s/.../.../i
--
"Je deteste les ordinateurs : ils font toujours ce que je dis, jamais ce
que je veux !"
"The obvious mathematical breakthrough would be development of an easy
way to factor large prime numbers." (Bill Gates, The Road Ahead)
if ($line =~ s/(.*<s*/s*HTMLs*>).*/$1/i) { Je n'aurais pas mis de tiret avant le i ... : s/.../.../i
-- "Je deteste les ordinateurs : ils font toujours ce que je dis, jamais ce que je veux !" "The obvious mathematical breakthrough would be development of an easy way to factor large prime numbers." (Bill Gates, The Road Ahead)
Stephane Zuckerman
J'ai trouvé l'option i ou est que je dois la metre ? i Reconnaissance de motif indépendamment de la casse (majuscules/minuscules). ( C'est dans la doc !)
Justement, si tu as lu la doc, tes yeux sont certainement passés sur la ligne contenant la syntaxe d'une regexp.
perldoc perlre sinon perldoc perlretut
Bref, vouloir faire du Perl, c'est bien, faire l'effort de se corriger soi-même, c'est mieux. Nous ne sommes pas des debuggers humains. Ou alors si, mais faut payer.
-- "Je deteste les ordinateurs : ils font toujours ce que je dis, jamais ce que je veux !" "The obvious mathematical breakthrough would be development of an easy way to factor large prime numbers." (Bill Gates, The Road Ahead)
J'ai trouvé l'option i ou est que je dois la metre ?
i Reconnaissance de motif indépendamment de la casse
(majuscules/minuscules).
( C'est dans la doc !)
Justement, si tu as lu la doc, tes yeux sont certainement passés sur la
ligne contenant la syntaxe d'une regexp.
perldoc perlre
sinon
perldoc perlretut
Bref, vouloir faire du Perl, c'est bien, faire l'effort de se corriger
soi-même, c'est mieux. Nous ne sommes pas des debuggers humains. Ou alors
si, mais faut payer.
--
"Je deteste les ordinateurs : ils font toujours ce que je dis, jamais ce
que je veux !"
"The obvious mathematical breakthrough would be development of an easy
way to factor large prime numbers." (Bill Gates, The Road Ahead)
J'ai trouvé l'option i ou est que je dois la metre ? i Reconnaissance de motif indépendamment de la casse (majuscules/minuscules). ( C'est dans la doc !)
Justement, si tu as lu la doc, tes yeux sont certainement passés sur la ligne contenant la syntaxe d'une regexp.
perldoc perlre sinon perldoc perlretut
Bref, vouloir faire du Perl, c'est bien, faire l'effort de se corriger soi-même, c'est mieux. Nous ne sommes pas des debuggers humains. Ou alors si, mais faut payer.
-- "Je deteste les ordinateurs : ils font toujours ce que je dis, jamais ce que je veux !" "The obvious mathematical breakthrough would be development of an easy way to factor large prime numbers." (Bill Gates, The Road Ahead)
ptilou
Bonjour,
Ben je l'ai mis là non :
Ouvre les yeux... if ($line =~ s/(.*<s*/s*HTMLs*>).*/$1/i) {
;)
Je l'ai fait avec sed, mais par curiausité !
;)
Ptilou
Bonjour,
Ben je l'ai mis là non :
Ouvre les yeux...
if ($line =~ s/(.*<s*/s*HTMLs*>).*/$1/i) {
Ouvre les yeux... if ($line =~ s/(.*<s*/s*HTMLs*>).*/$1/i) {
;)
Je l'ai fait avec sed, mais par curiausité !
;)
Ptilou
Paul Gaborit
À (at) 16 Jun 2005 04:47:44 -0700, écrivait (wrote):
J'ai trouvé l'option i ou est que je dois la metre ?
Vous voulez vraiment qu'on vous le dise ?
i Reconnaissance de motif indépendamment de la casse (majuscules/minuscules). ( C'est dans la doc !)
Une documentation, ça se lit... et ça se comprend sinon ça ne sert à rien. Si vous ne comprenez pas ce que dit la doc (perlre par exemple) c'est qu'il faut commencer par une doc un peu plus facile (perlretut par exemple).
Pareil pour un script. Si vous n'arrivez pas à faire votre script, c'est que c'est trop difficile pour vous. Commencez pas faire des choses plus simples. « C'est en forgeant... »
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
À (at) 16 Jun 2005 04:47:44 -0700,
ptilou@gmail.com écrivait (wrote):
J'ai trouvé l'option i ou est que je dois la metre ?
Vous voulez vraiment qu'on vous le dise ?
i Reconnaissance de motif indépendamment de la casse
(majuscules/minuscules).
( C'est dans la doc !)
Une documentation, ça se lit... et ça se comprend sinon ça ne sert à rien. Si
vous ne comprenez pas ce que dit la doc (perlre par exemple) c'est qu'il faut
commencer par une doc un peu plus facile (perlretut par exemple).
Pareil pour un script. Si vous n'arrivez pas à faire votre script, c'est que
c'est trop difficile pour vous. Commencez pas faire des choses plus
simples. « C'est en forgeant... »
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
À (at) 16 Jun 2005 04:47:44 -0700, écrivait (wrote):
J'ai trouvé l'option i ou est que je dois la metre ?
Vous voulez vraiment qu'on vous le dise ?
i Reconnaissance de motif indépendamment de la casse (majuscules/minuscules). ( C'est dans la doc !)
Une documentation, ça se lit... et ça se comprend sinon ça ne sert à rien. Si vous ne comprenez pas ce que dit la doc (perlre par exemple) c'est qu'il faut commencer par une doc un peu plus facile (perlretut par exemple).
Pareil pour un script. Si vous n'arrivez pas à faire votre script, c'est que c'est trop difficile pour vous. Commencez pas faire des choses plus simples. « C'est en forgeant... »
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
ptilou
Bonsoir,
damien guerin wrote:
Ben je l'ai mis là non :
Ouvre les yeux... if ($line =~ s/(.*<s*/s*HTMLs*>).*/$1/i) {
Oui mais pourquoi à la fin ?
;)
Ptilou
Bonsoir,
damien guerin wrote:
Ben je l'ai mis là non :
Ouvre les yeux...
if ($line =~ s/(.*<s*/s*HTMLs*>).*/$1/i) {
Ouvre les yeux... if ($line =~ s/(.*<s*/s*HTMLs*>).*/$1/i) {
Oui mais pourquoi à la fin ?
;)
Ptilou
Nicolas Le Scouarnec
Ouvre les yeux... if ($line =~ s/(.*<s*/s*HTMLs*>).*/$1/i) {
;) Je l'ai fait avec sed, mais par curiosité !
;)
Hum... s/xxx/XXX/i dans un script Perl c'est pas un appel Sed, ca y ressemble, mais c'en est pas un pour autant. Ton if ( $ligne =~ /<HTML>/ ) est fondamentalement différent de ce qu'on t'a proposé. Ce qu'on t'a proposé va marcher, mais ce que tu veux faire ne marchera pas (en tout cas, pas avec ce qu'on t'a donné après).
Dans la doc, il faut lire ce qu'il y a avant et après pour comprendre le role du m// du s/// ...
-- Nicolas Le Scouarnec
Ouvre les yeux...
if ($line =~ s/(.*<s*/s*HTMLs*>).*/$1/i) {
;)
Je l'ai fait avec sed, mais par curiosité !
;)
Hum... s/xxx/XXX/i dans un script Perl c'est pas un appel Sed, ca y
ressemble, mais c'en est pas un pour autant. Ton if ( $ligne =~ /<HTML>/ )
est fondamentalement différent de ce qu'on t'a proposé. Ce qu'on t'a
proposé va marcher, mais ce que tu veux faire ne marchera pas (en
tout cas, pas avec ce qu'on t'a donné après).
Dans la doc, il faut lire ce qu'il y a avant et après pour comprendre
le role du m// du s/// ...
Ouvre les yeux... if ($line =~ s/(.*<s*/s*HTMLs*>).*/$1/i) {
;) Je l'ai fait avec sed, mais par curiosité !
;)
Hum... s/xxx/XXX/i dans un script Perl c'est pas un appel Sed, ca y ressemble, mais c'en est pas un pour autant. Ton if ( $ligne =~ /<HTML>/ ) est fondamentalement différent de ce qu'on t'a proposé. Ce qu'on t'a proposé va marcher, mais ce que tu veux faire ne marchera pas (en tout cas, pas avec ce qu'on t'a donné après).
Dans la doc, il faut lire ce qu'il y a avant et après pour comprendre le role du m// du s/// ...
-- Nicolas Le Scouarnec
Nicolas Le Scouarnec
Ouvre les yeux... if ($line =~ s/(.*<s*/s*HTMLs*>).*/$1/i) { Oui mais pourquoi à la fin ?
Parce que ? Tu veux qu'on réponde quoi a part man perlre ? C'est un peu comme si je demandais pourquoi "Quoi" s'écrit avec un i a la fin.
-- Nicolas Le Scouarnec
Ouvre les yeux...
if ($line =~ s/(.*<s*/s*HTMLs*>).*/$1/i) {
Oui mais pourquoi à la fin ?
Parce que ? Tu veux qu'on réponde quoi a part man perlre ?
C'est un peu comme si je demandais pourquoi "Quoi" s'écrit avec un i a
la fin.
À (at) 16 Jun 2005 12:17:01 -0700, écrivait (wrote):
Oui mais pourquoi à la fin ?
Pourquoi pas ? Pourquoi vous posez-vous cette question ?
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
ptilou
Bonjour,
À (at) 16 Jun 2005 12:17:01 -0700, écrivait (wrote):
Oui mais pourquoi à la fin ?
Pourquoi pas ? Pourquoi vous posez-vous cette question ?
Simple, je voudrais comprendre pour pouvoir écrire mon script !
Je voudrais cette fois supprimer la présentation de la page de <head> à </head> et récupérer, le contenue , de la premiére balise <b> et en faire le titre de la page ainsi que le nom du fichier ! Puis la balise <h5> mais la 5 eme et la metre dans un fichier autre et qui serait un lien d'ou elle a été extré, etc ...
Merci
Ptilou
Bonjour,
À (at) 16 Jun 2005 12:17:01 -0700,
ptilou@gmail.com écrivait (wrote):
Oui mais pourquoi à la fin ?
Pourquoi pas ?
Pourquoi vous posez-vous cette question ?
Simple, je voudrais comprendre pour pouvoir écrire mon script !
Je voudrais cette fois supprimer la présentation de la page de <head>
à </head> et récupérer, le contenue , de la premiére balise <b> et
en faire le titre de la page ainsi que le nom du fichier !
Puis la balise <h5> mais la 5 eme et la metre dans un fichier autre et
qui serait un lien d'ou elle a été extré, etc ...
À (at) 16 Jun 2005 12:17:01 -0700, écrivait (wrote):
Oui mais pourquoi à la fin ?
Pourquoi pas ? Pourquoi vous posez-vous cette question ?
Simple, je voudrais comprendre pour pouvoir écrire mon script !
Je voudrais cette fois supprimer la présentation de la page de <head> à </head> et récupérer, le contenue , de la premiére balise <b> et en faire le titre de la page ainsi que le nom du fichier ! Puis la balise <h5> mais la 5 eme et la metre dans un fichier autre et qui serait un lien d'ou elle a été extré, etc ...