в перле аналог сишного #include
use или require
А именно текстовую подстановку файла можно сделать? Все-таки есть разница.
Хотя, конечно, мне под задачу это подходит, но все же.
include
Если просто так написать, то выдает, что это неизвестная процедура.
include(СТРОКА);
где СТРОКА содержит имя файла.
Undefined subroutine &main::include called at файл line n.
Кстати говоря, в языке Perl вообще нет функции многократного включения, наподобие include (есть только типа include_once). Функция do не в счет, потому что она еще и исключения перехватывает, а значит, это концептуально не то же самое, что и require.Вот тут посмотри. Может это оно..........
Что-то я Perl с PHP перепутал.
Модераторы, удалите нафиг мои ответы здесь, плз.
the contents of the file as a Perl script. Its
primary use is to include subroutines from a Perl
subroutine library.
do 'stat.pl';
is just like
scalar eval `cat stat.pl`;
2 В твоей ссылке нашел вот что :
do 'stat.pl';
Это то же самое, что:
eval 'cat stat.pl';
К сожалению, не подходит - содержимое, конечно, как скрипт выполняется, но как отдельный процесс (точно не знаю, но такое ощущение). То есть тамошние переменные локальные - в основном скрипте они не видны (а это-то мне и надо - включение <>.inip, конфигурационного файла с объявлением переменных).
Так что похоже, не умеет перл
2> man m4
3> man sed; man bash
?
У меня нет никаких манов, WinXP
И что такое m4 и sed, не ведаю.
В чём проблема-то?
У меня здесь тоже не Уних, но и sed, и m4 есть.
Правда, читаю я не маны, а инфо или документацию в ТеХ.
Что поставить, и главное, зачем?
Работать удобнее будет.
Интепретатор перла не изменится - то есть менять его и не надо, делается-то для машины, где все виндовое.
Цигвин есть, стоял, теперь не стоит и надобности не чувствую.
Можешь, конечно, переписать всё на перле, но смысл?
2. Будет приличная работа с множествами файлов.
Можешь и это переписать на перле, а смысл?
3. Будет rcs/cvs.
Можешь и это переписать на перле...
2 Что такое "приличная работа" с ... ?
3 И наконец, что такое rcs/cvs? Правда не знаю
Это, конечно, не только textutils.
RCS -- Revision Control System. Даёт возможность нормально работать с версиями (откаты к предыдущим, нумерация, хранение, автоматическая вставка номера в программу и пр.)
CVS -- Concurrent Versioning System. Можно работать в несколько рук с поддержкой версий (основана на RCS) для кучи файлов.
CVS мне пока не требовалась, а RCS пользуюсь.
Вообще, GNU в своём "Not UNIX" даёт очень удобное средство разработки.
---
...Я работаю...
Будут diff, patch, cat... awk (заменяет половину ёкселя sed(тоже помогает grep, xargs, find.
Это, конечно, не только textutils.
Все уже есть скомпилированные под винду без cygwin'а.
Я думаю, что и RCS тоже есть.
-P NOTE: Use of -P is strongly discouraged because of its inherent
problems, including poor portability.
This option causes your program to be run through the C preproces-
sor before compilation by Perl. Because both comments and cpp
directives begin with the # character, you should avoid starting
comments with any words recognized by the C preprocessor such as
"if", "else", or "define".
Надо проверить, а то вдруг ещё живо...
Я бы на месте спрашивающего, воспользовался бы текстовым препроцессором под названием "gema".
Во-первых, потому что удобно. Вряд ли придётся включать файлы на лету.
А если и придётся это моэно сделать средствами shell, даже при условии, что shell=command.com
Мне очень интересно, зачем понадобился именно #include и чем не подходит use/require/do.
Если "use", "require" --- это подключение модулей, то непонятно, почему они не понравились.
Потому что "#include" --- подпорка, хоть как-то дающая возможность выжить кривому полустековому языку Си.
Вообще-то, действительно, незачем куски файлов включать.
---
...Ибо нефиг...
Оставить комментарий
Eugenia_2005
Какой субж, кто подскажет?В справке роюсь, не нахожу.