Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Модификация текстового файла построчно


Автор: ma_lover 24.1.2008, 15:07
Добрый день!
Нужно сделать скриптик, который открывал бы текстовый файл, и в каждой его строчке, на второй позиции заменял что-то на 0.
Главная задача в том, чтобы этот сценарий запускался под Windows автономно, без установки ActivePerl? то есть чтобы был исполняемым файлом.Можно ли это реализовать?
Спасибо.

Автор: Unrealm 24.1.2008, 15:58
Исполняемым файл можно сделать при помощи perl2exe, а сама программа будет представлять собой чтение файла, затем построчно s/^(.)./$1.0/e и перезапись файла.

Автор: amg 24.1.2008, 16:09
Сделать такой скриптик легко, да и скриптик не нужен, можно прямо из командной строки набить пару десятков символов вроде
perl -i -pe "s/(?<=^.)./0/" *.txt

А вот превратить это дело в экзешник. Тоже легко. Есть perl2exe. Но не бесплатная. И в экзешнике этом будет весь перл, т.е. весить он будет гораздо больше 20 байт.

По-моему, проще приложить к скрипту пару файлов. В простейшем случае достаточно perl.exe и perl58.dll, кажется. Тогда, по крайней мере, и другие подобные скрипты можно будет исполнять.

Автор: ma_lover 24.1.2008, 16:11
Спасибо...а можно пояснить доступно, как всё-таки сделать исполняемый файл с помощью perl.exe? я никогда просто с этим не сталкивался..

Автор: amg 24.1.2008, 16:14
Unrealm, чтобы обойтись без e, можно так: s/^(.)./${1}0/;

Добавлено через 4 минуты и 45 секунд
ma_lover, для начала скачать/поставить/зарегистрировать. Затем в консоли
perl2exe myscript.pl

Автор: shamber 24.1.2008, 18:02
для упаковки в exe нашел для себя бесплатную программу Cava Packager.
 Мне понравилось. smile

причем может автоматом создавать инсталятор. 

Автор: nitr 24.1.2008, 23:20
ma_lover, а зачем вам тогда перл?
Используйте Си++, Делфи и т.п. и т.д.

Зачем вообще такие сложности? Я понимаю что иногда надо .exe из .pl , но это не так часто и 100% не в вашем случае smile !!!

Автор: ma_lover 25.1.2008, 12:34
nitr, всё дело в том, что скрипт у меня попросил один человек у которого ActivePerl на машине нет и установить его в разумное время не было возможности..Понятно, что скрипт удобно подделывать под себя, когда исходный код под рукой, но тем не менее сложилась такая ситуация.
Извините за оффтоп, если что.

Автор: nitr 25.1.2008, 21:24
Просто это приложение ооочень простое. Поэтому я и советую использовать smile "что-то другое".
Так что - чего тут от скрипта будет? smile

Раз надо, то воспользуйтесь ответом shamber'а. 

P.S.: оффтопа, имхо, нет.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)