- RU.PERL ----------------------------------------------------------- RU.PERL -
Msg : #1071 [644]
От : eugene v. 2:5025/245.1 02 ноября 03, 00:29
Кому : All 03 ноября 03, 23:37
Тема : CSV для EXEL
-------------------------------------------------------------------------------
@Location: Воронеж, Россия
@Realname: Мязин Евгений Вячеславович, 21год
Hi All.
Вообщем EXEL сохраняет в формате CSV так
если в ячейке присутвтует символ " или символ ; то он ячейку берев в кавычки, а
кавычку текста удваивает доспустим есть таблица из одной строки и трех колонок
Это "первая" ячейка Это вторая; ячейка Это третья
в CSV формате это выглядит так
"Это ""первая"" ячейка";"Это вторая; ячейка";Это третья
Так вот нужен регексп чтобы засунуть эту строку в массив.
вот что я в одной из книг, но это не работает.
синтаксис сохранен:
правда хздесь разделители - ','
PS: Вообщем HELP
sub parse_csv {
my $text = shift;
# Запись со значениями, разделенными запятыми my @new = ();
push(@new, $+) while $text =~ m{
# Первая часть группирует фразу в кавычках
"([^\"\\]*(?:\\.[^\"\\]*)*)",?
| (^,]+),?
| ,
}QX;
push(@new, under) if substr($text,-1,1) eq ',';
return @new; # Список значений, которые разделялись запятыми
}
\\ Евгений
--- 00:21 02 Hоя 03 г.
* Origin: HNN (2:5025/245.1)