Я пытаюсь прочитать ниже содержимое файла CSV построчно в Perl.
Содержимое файла CSV:
A7777777.A777777777.XXX3604,XXX,3604,YES,9
B9694396.B216905785.YYY0018,YYY,0018,YES,13
C9694396.C216905785.ZZZ0028,ZZZ,0028,YES,16
Я могу разбить содержимое строки, используя приведенный ниже код, а также могу проверить содержимое:
@column_fields1 = split(',', $_);
print $column_fields1[0],"\n";
Я также пытаюсь найти вторую часть в первом столбце файла CSV (т. Е. A777777777 или B216905785 или C216905785 ) - первый столбец, ограниченный .
с использованием приведенного ниже кода, и я не могу его получить.
Вместо этого печатается только новая строка.
my ($v1, $v2, $v3) = split(".", $column_fields1[0]);
print $v2,"\n";
Может кто-нибудь подсказать, как разбить элемент массива и получить указанное выше значение?
Что касается моей функциональности, мне нужно где-то первое значение столбца где-то, а где-то только вторая часть.
Ниже мой код:
use strict;
use warnings;
my $dailybillable_tab_section1_file = "./sql/demanding_01_T.csv";
open(FILE, $dailybillable_tab_section1_file) or die "Could not read from $dailybillable_tab_section1_file, program halting.";
my @column_fields1;
my @column_fields2;
while (<FILE>)
{
chomp;
@column_fields1 = split(',', $_);
print $column_fields1[0],"\n";
my ($v1, $v2, $v3) = split(".",$column_fields1[0]);
print $v2,"\n";
if($v2 ne 'A777777777')
{
…
…
…
}
else
{
…
…
…
}
}
close FILE;