У меня есть программа, которая распечатывает расположение запятых в абзаце текста в виде
Например, если абзац
one,two,three
three and a half
four,five
six
seven,eight
Программа напечатает
0:4
0:8
2:5
4:6
Я хотел бы использовать этот вывод для создания массива, в котором числа после двоеточия перечислены в столбцах строки, указанной индексом перед двоеточием. Массив, образованный координатами выше, будет
4 8
<blank or character '.'>
5
<blank or character '.'>
6
т. Массив [0,0] = 4, массив [0,1] = 8
массив [1,0] = пусто
массив [2,0] = 5
и т.д ...
Могу поспорить, это просто, но мне нужна помощь, чтобы написать это.
$data_file="file.out";
open(DAT, $data_file) || die("Could not open file!");
@raw_data=<DAT>;
close(DAT);
my %array;
my $line = 0;
foreach $newline(@raw_data) {
chomp;
while ( $newline=~m/(,|;|:|and)/) {
push @{ $array{$line} }, pos($newline); # autovivification
}
$line++; }