Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > 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. Мне понравилось. ![]() причем может автоматом создавать инсталятор. |
Автор: nitr 24.1.2008, 23:20 |
ma_lover, а зачем вам тогда перл? Используйте Си++, Делфи и т.п. и т.д. Зачем вообще такие сложности? Я понимаю что иногда надо .exe из .pl , но это не так часто и 100% не в вашем случае ![]() |
Автор: ma_lover 25.1.2008, 12:34 |
nitr, всё дело в том, что скрипт у меня попросил один человек у которого ActivePerl на машине нет и установить его в разумное время не было возможности..Понятно, что скрипт удобно подделывать под себя, когда исходный код под рукой, но тем не менее сложилась такая ситуация. Извините за оффтоп, если что. |
Автор: nitr 25.1.2008, 21:24 |
Просто это приложение ооочень простое. Поэтому я и советую использовать ![]() Так что - чего тут от скрипта будет? ![]() Раз надо, то воспользуйтесь ответом shamber'а. P.S.: оффтопа, имхо, нет. |