수색…


parse_line ()

Text :: ParseWordsparse_line() 사용 :

use 5.010;
use Text::ParseWords;

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

산출:

"a quoted, comma"
 word1
 word2

텍스트 :: CSV 또는 텍스트 :: 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";

산출:

a quoted, comma
 word1
 word2

노트

  • 기본적으로 Text :: CSV는 구분자 문자 주위의 공백을 제거하지 않습니다. Text::ParseWords 가 수행하는 방식입니다. 그러나, 생성자 속성에 allow_whitespace=>1 을 추가하면 그 효과를 얻을 수 있습니다.

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

    산출:

    a quoted, comma
    word1
    word2
    
  • 라이브러리는 이스케이프 특수 문자 (따옴표, 구분 기호)

  • 라이브러리는 구성 가능한 구분 문자, 인용 문자 및 이스케이프 문자를 지원합니다.

문서 : http://search.cpan.org/perldoc/Text::CSV



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow