Forum Webscript.Ru

Программирование => Perl => Тема начата: Troum от 28 Мая 2003, 13:01:01

Название: Perl vs MS Word
Отправлено: Troum от 28 Мая 2003, 13:01:01
Встала такая проблема, надо скриптом обработать (выдрать оттуда некоторый текст) кучу файлов MS Word, причем в двух версиях - 7 и 5.5 :eek:
Всвязи с этим 2 вопроса

1. Есть ли готовые средства/модули для решения этой задачи

2. Когда пытаюсь прочесть файл Word 5.5, как текстовый
foreach $file (grep {/\\.doc$/i} readdir(DIR))
{open (F, "$dir/$file");
 while ()  {........}
}

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

Как это можно победить?
Название: Perl vs MS Word
Отправлено: NeoNox от 28 Мая 2003, 13:20:38
1. Win32::OLE
2. а ты его блокнотом открой. что видим? ;)
Название: Perl vs MS Word
Отправлено: Troum от 28 Мая 2003, 13:27:20
1. на activestate.com нашел Win32-OLE-OPC. Пойдет?

2. Сначала некие спецсимволы (иероглифы) а далее нужный текст в кодировке 866
Название: Perl vs MS Word
Отправлено: NeoNox от 28 Мая 2003, 13:31:39
1. Win32::OLE  есть на этом сайте
2. Это шутка была.. Ты его так не прочитаешь.
Название: Perl vs MS Word
Отправлено: Troum от 28 Мая 2003, 13:40:13
1. Гмм, пока не вижу (под перл 5.8)

2. Так а в чем проблема-то?
Название: Perl vs MS Word
Отправлено: Troum от 28 Мая 2003, 13:44:55
1. Нашел
Название: Perl vs MS Word
Отправлено: Troum от 28 Мая 2003, 17:09:35
по п. 2.
 заработал тока такой вариант: с помощью Win32::OLE сохранил все файлы как текст DOS с разбиением на строки. Со всеми другими форматами была вышеозначеная проблема. Почему, так и не понял