est il possible de faire une substitution sur une variable ?
typiquement le code ci dessous ne marche pas si on passe par la variable
intermédiaire $line :
#!/usr/bin/perl
open FILE, ">/tmp/fichier";
print FILE "truc a la con\net bidon\n";
close FILE;
open FILE, "/tmp/fichier";
while ( $line=<FILE>) {
s/a la con/bizarre/ ;
print ;
}
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
dominix
William wrote:
bonjour,
est il possible de faire une substitution sur une variable ? typiquement le code ci dessous ne marche pas si on passe par la variable intermédiaire $line :
#!/usr/bin/perl
open FILE, ">/tmp/fichier"; print FILE "truc a la connet bidonn"; close FILE;
open FILE, "/tmp/fichier"; while ( $line=<FILE>) { s/a la con/bizarre/ ; print ; }
tu as deux solutions: soit:
while ( $line=<FILE>) { $line =~ s/a la con/bizarre/ ; print $line ; }
si tu met tes lignes dans une variable, ben faut l'utiliser... la variable soit:
while (<FILE>) { s/a la con/bizarre/ ; print ; }
c'est a dire que tu laisse perl travailer avec la variable par default "$_"
-- dominix
William wrote:
bonjour,
est il possible de faire une substitution sur une variable ?
typiquement le code ci dessous ne marche pas si on passe par la
variable intermédiaire $line :
#!/usr/bin/perl
open FILE, ">/tmp/fichier";
print FILE "truc a la connet bidonn";
close FILE;
open FILE, "/tmp/fichier";
while ( $line=<FILE>) {
s/a la con/bizarre/ ;
print ;
}
tu as deux solutions:
soit:
while ( $line=<FILE>) {
$line =~ s/a la con/bizarre/ ;
print $line ;
}
si tu met tes lignes dans une variable, ben faut l'utiliser... la variable
soit:
while (<FILE>) {
s/a la con/bizarre/ ;
print ;
}
c'est a dire que tu laisse perl travailer avec la variable par default "$_"
est il possible de faire une substitution sur une variable ? typiquement le code ci dessous ne marche pas si on passe par la variable intermédiaire $line :
#!/usr/bin/perl
open FILE, ">/tmp/fichier"; print FILE "truc a la connet bidonn"; close FILE;
open FILE, "/tmp/fichier"; while ( $line=<FILE>) { s/a la con/bizarre/ ; print ; }
tu as deux solutions: soit:
while ( $line=<FILE>) { $line =~ s/a la con/bizarre/ ; print $line ; }
si tu met tes lignes dans une variable, ben faut l'utiliser... la variable soit:
while (<FILE>) { s/a la con/bizarre/ ; print ; }
c'est a dire que tu laisse perl travailer avec la variable par default "$_"
-- dominix
Alex Marandon
In article <3fac1b93$0$27568$, William wrote:
est il possible de faire une substitution sur une variable ?
Mais certainement :)
typiquement le code ci dessous ne marche pas si on passe par la variable intermédiaire $line :
#!/usr/bin/perl
open FILE, ">/tmp/fichier"; print FILE "truc a la connet bidonn"; close FILE;
open FILE, "/tmp/fichier"; while ( $line=<FILE>) {
Ici la ligne est dans $line.
s/a la con/bizarre/ ;
Ici tu ne précise par à quoi tu appliques ta substituion. Perl considère donc que c'est la variable par défaut $_. Laquelle n'est pas iniatilisée. D'ailleur, en ajoutant l'option -w à perl on obtient : Use of uninitialized value in substitution (s///) at t.pl line 10, <FILE> line 1. Il est vivement recommandé de toujours utiliser cette option -w qui déclenche des avertissments forts utiles.
print ;
$_ est toujours non initialisée.
Donc soit tu fais :
while (<FILE>) { # ici $_ est initialisée avec la valeur de la ligne s/a la con/bizarre/ ; print; }
soit tu fais :
while ($line = <FILE>) { $line =~ s/a la con/bizarre/; print $line; }
In article <3fac1b93$0$27568$626a54ce@news.free.fr>, William wrote:
est il possible de faire une substitution sur une variable ?
Mais certainement :)
typiquement le code ci dessous ne marche pas si on passe par la variable
intermédiaire $line :
#!/usr/bin/perl
open FILE, ">/tmp/fichier";
print FILE "truc a la connet bidonn";
close FILE;
open FILE, "/tmp/fichier";
while ( $line=<FILE>) {
Ici la ligne est dans $line.
s/a la con/bizarre/ ;
Ici tu ne précise par à quoi tu appliques ta substituion. Perl considère
donc que c'est la variable par défaut $_. Laquelle n'est pas
iniatilisée. D'ailleur, en ajoutant l'option -w à perl on obtient : Use
of uninitialized value in substitution (s///) at t.pl line 10, <FILE>
line 1. Il est vivement recommandé de toujours utiliser cette option -w
qui déclenche des avertissments forts utiles.
print ;
$_ est toujours non initialisée.
Donc soit tu fais :
while (<FILE>) { # ici $_ est initialisée avec la valeur de la ligne
s/a la con/bizarre/ ;
print;
}
soit tu fais :
while ($line = <FILE>) {
$line =~ s/a la con/bizarre/;
print $line;
}
est il possible de faire une substitution sur une variable ?
Mais certainement :)
typiquement le code ci dessous ne marche pas si on passe par la variable intermédiaire $line :
#!/usr/bin/perl
open FILE, ">/tmp/fichier"; print FILE "truc a la connet bidonn"; close FILE;
open FILE, "/tmp/fichier"; while ( $line=<FILE>) {
Ici la ligne est dans $line.
s/a la con/bizarre/ ;
Ici tu ne précise par à quoi tu appliques ta substituion. Perl considère donc que c'est la variable par défaut $_. Laquelle n'est pas iniatilisée. D'ailleur, en ajoutant l'option -w à perl on obtient : Use of uninitialized value in substitution (s///) at t.pl line 10, <FILE> line 1. Il est vivement recommandé de toujours utiliser cette option -w qui déclenche des avertissments forts utiles.
print ;
$_ est toujours non initialisée.
Donc soit tu fais :
while (<FILE>) { # ici $_ est initialisée avec la valeur de la ligne s/a la con/bizarre/ ; print; }
soit tu fais :
while ($line = <FILE>) { $line =~ s/a la con/bizarre/; print $line; }
William
open FILE, "/tmp/fichier"; while ( $line=<FILE>) {
Ici la ligne est dans $line.
s/a la con/bizarre/ ;
Ici tu ne précise par à quoi tu appliques ta substituion. Perl considère donc que c'est la variable par défaut $_. Laquelle n'est pas iniatilisée. D'ailleur, en ajoutant l'option -w à perl on obtient : Use of uninitialized value in substitution (s///) at t.pl line 10, <FILE> line 1. Il est vivement recommandé de toujours utiliser cette option -w qui déclenche des avertissments forts utiles.
c'est pour cela que e veux faire une substitution explicitement via la variable $line et non via $_ Je sais bien bien si je retire cette variable tout marche (c'est d'ailleurs l'exemple donné dans le bouquin) mais je veux rendre plus lisible à la lecture (pour moi)
while ($line = <FILE>) { $line =~ s/a la con/bizarre/; print $line; }
c'est effectivement ça merci à tous les deux :)
-- William.
open FILE, "/tmp/fichier";
while ( $line=<FILE>) {
Ici la ligne est dans $line.
s/a la con/bizarre/ ;
Ici tu ne précise par à quoi tu appliques ta substituion. Perl considère
donc que c'est la variable par défaut $_. Laquelle n'est pas
iniatilisée. D'ailleur, en ajoutant l'option -w à perl on obtient : Use
of uninitialized value in substitution (s///) at t.pl line 10, <FILE>
line 1. Il est vivement recommandé de toujours utiliser cette option -w
qui déclenche des avertissments forts utiles.
c'est pour cela que e veux faire une substitution explicitement via la
variable $line et non via $_
Je sais bien bien si je retire cette variable tout marche (c'est
d'ailleurs l'exemple donné dans le bouquin) mais je veux rendre plus
lisible à la lecture (pour moi)
while ($line = <FILE>) {
$line =~ s/a la con/bizarre/;
print $line;
}
open FILE, "/tmp/fichier"; while ( $line=<FILE>) {
Ici la ligne est dans $line.
s/a la con/bizarre/ ;
Ici tu ne précise par à quoi tu appliques ta substituion. Perl considère donc que c'est la variable par défaut $_. Laquelle n'est pas iniatilisée. D'ailleur, en ajoutant l'option -w à perl on obtient : Use of uninitialized value in substitution (s///) at t.pl line 10, <FILE> line 1. Il est vivement recommandé de toujours utiliser cette option -w qui déclenche des avertissments forts utiles.
c'est pour cela que e veux faire une substitution explicitement via la variable $line et non via $_ Je sais bien bien si je retire cette variable tout marche (c'est d'ailleurs l'exemple donné dans le bouquin) mais je veux rendre plus lisible à la lecture (pour moi)
while ($line = <FILE>) { $line =~ s/a la con/bizarre/; print $line; }