Envoyé par
Toutankharton
Bonjour,
J'essaye de trouver dans un fichier ceux qui se terminent par des espaces.
Malheuresement, j'ai l'impression que perl me supprime tout les espaces en fin de ligne :
1 2 3 4 5 6 7 8
| open(fd, $ARGV[0]);
@file = <fd>;
close(fd);
foreach $line (@file)
{
print "'$line'";
} |
1 2 3 4
| thomas@tefnout# ./test.pl titif
'sddfds
''ddd
' |
Il ne les supprime pas, regarde attentivement où les quotes se retrouvent : le problème est que tu mets les quotes autour de la ligne tout entière, nouvelle ligne (\n) inclue...
Pour quelque chose de plus lisible, essaie ça :
perl -ne 'chomp; print qq('\''$_'\''\n)' titif
ou en script complet (pas un uniligne) :
1 2 3 4 5 6 7
| #!/usr/bin/env perl
use strict; use warnings;
while(<>) {
chomp;
print qq('$_'\n);
} |
Le code de mensoif marchera pour détecter une ligne avec des espaces à la fin, mais uniquement si tu as bien fait un chomp() avant (sinon il matchera toutes les lignes puisque \n est considéré comme un espace par \s).
--
Jedaï
Partager