Recherche…


parse_line ()

Utilisation de parse_line() de Text :: ParseWords :

use 5.010;
use Text::ParseWords;

my $line = q{"a quoted, comma", word1, word2};
my @parsed = parse_line(',', 1, $line);
say for @parsed;

Sortie:

"a quoted, comma"
 word1
 word2

Text :: CSV ou Text :: CSV_XS

use Text::CSV; # Can use Text::CSV which will switch to _XS if installed
$sep_char = ",";
my $csv = Text::CSV->new({sep_char => $sep_char});
my $line = q{"a quoted, comma", word1, word2};
$csv->parse($line);
my @fields = $csv->fields();
print join("\n", @fields)."\n";

Sortie:

a quoted, comma
 word1
 word2

REMARQUES

  • Par défaut, Text :: CSV ne Text::ParseWords pas les espaces autour du caractère séparateur, Text::ParseWords . Cependant, l'ajout de allow_whitespace=>1 aux attributs du constructeur permet d'obtenir cet effet.

    my $csv = Text::CSV_XS->new({sep_char => $sep_char, allow_whitespace=>1});  
    

    Sortie:

    a quoted, comma
    word1
    word2
    
  • La bibliothèque prend en charge les caractères spéciaux échappés (guillemets, séparateurs)

  • La bibliothèque prend en charge le caractère séparateur configurable, le caractère de citation et le caractère d'échappement

Documentatoin: http://search.cpan.org/perldoc/Text::CSV



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow