[Moscow.pm] Передача данных скрипту

Павел Тимонин gg.error на gmail.com
Вт Ноя 25 05:09:47 PST 2008


Здравствуйте, товарищи.

Задача стоит так: есть перл-модули (самописные), созданные для парсинга
неких данных и закладывания их в базу.

С использованием этих модулей нужно написать скрипт, который будет
собственно получать данные и отдавать их функциям модуля.

Данные поступают в виде xls-файлов, которые по всей видимости набивают
девочки какие-то, поэтому данные несколько странно выглядят.. но не в этом
суть, ибо функции модуля обучены эти странности отлавливать и либо
исправлять, либо сообщать об ошибке в специальную таблицу без останова
работы скрипта.

Вопрос: как передавать данные скрипту:

1. Наиболее правильно.

2. Наиболее просто (чтобы юзер типа менеджера мог справиться с этой задачей,
а я потом разбирался с обнаруженными ошибками).

Скрипты и модуль написаны под utf-8.

Сейчас передаю через csv, разделители - ";".  Плохо, что эксель не особо
может выдавать utf-8 и csv в таком формате - что-то не всегда получается, он
стремится сделать разделитлями запятые, а кодировка естественно cp1251.
Виндовый юникод как-то разительно отличается от utf-8. Видимо, это ucs-4,
хотя я могу легко ошибаться.

Пробовал использовать Spreadsheet::ParseExcel с CPAN, но оказалось что
входные файлы бывают двух видов: которые парсятся им нормально (объектным
методом, вытаскивая форматированный текст в utf8) и которые им нормально не
парсятся (то есть надо вынимать текст напрямую и он в "неправильной"
кодировке cp1251, а если попросить текст с форматированием идут пустые
строки или вообще какой-то бред, не поддающийся раскодированию).

1. и 2. вообще говоря могут иметь разные ответы.

Заранее спасибо.
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20081125/0422fef5/attachment-0001.html>


Подробная информация о списке рассылки Moscow-pm