в перле аналог сишного #include
use или require
Ну это же будет как импорт модуля, а не лексическая вставка текстового файла.
А именно текстовую подстановку файла можно сделать? Все-таки есть разница.
Хотя, конечно, мне под задачу это подходит, но все же.
А именно текстовую подстановку файла можно сделать? Все-таки есть разница.
Хотя, конечно, мне под задачу это подходит, но все же.
include
Напиши более распространно, пожалуйста.
Если просто так написать, то выдает, что это неизвестная процедура.
Если просто так написать, то выдает, что это неизвестная процедура.
Ну вот такое вот:
где СТРОКА содержит имя файла.
include(СТРОКА);
где СТРОКА содержит имя файла.
Ну именно такое вот и выдает, что процедура неизвестна!
Undefined subroutine &main::include called at файл line n.
Undefined subroutine &main::include called at файл line n.
сам перла толком не знаю , но вот какие высказывания на эту тему понаходил
Кстати говоря, в языке Perl вообще нет функции многократного включения, наподобие include (есть только типа include_once). Функция do не в счет, потому что она еще и исключения перехватывает, а значит, это концептуально не то же самое, что и require.Вот тут посмотри. Может это оно..........
Блин... простите тормоза 
Что-то я Perl с PHP перепутал.
Модераторы, удалите нафиг мои ответы здесь, плз.

Что-то я Perl с PHP перепутал.

Модераторы, удалите нафиг мои ответы здесь, плз.
do EXPR Uses the value of EXPR as a filename and executes
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`;
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`;
1 Что такое "функция многократного включения" ? И что за include_once?
2 В твоей ссылке нашел вот что :
do 'stat.pl';
Это то же самое, что:
eval 'cat stat.pl';
К сожалению, не подходит - содержимое, конечно, как скрипт выполняется, но как отдельный процесс (точно не знаю, но такое ощущение). То есть тамошние переменные локальные - в основном скрипте они не видны (а это-то мне и надо - включение <>.inip, конфигурационного файла с объявлением переменных).
Так что похоже, не умеет перл
2 В твоей ссылке нашел вот что :
do 'stat.pl';
Это то же самое, что:
eval 'cat stat.pl';
К сожалению, не подходит - содержимое, конечно, как скрипт выполняется, но как отдельный процесс (точно не знаю, но такое ощущение). То есть тамошние переменные локальные - в основном скрипте они не видны (а это-то мне и надо - включение <>.inip, конфигурационного файла с объявлением переменных).
Так что похоже, не умеет перл

1> man cpp
2> man m4
3> man sed; man bash
?
2> man m4
3> man sed; man bash
?
Это ты о чем?
У меня нет никаких манов, WinXP
И что такое m4 и sed, не ведаю.
У меня нет никаких манов, WinXP

И что такое m4 и sed, не ведаю.
Ну так, поставь.
В чём проблема-то?
У меня здесь тоже не Уних, но и sed, и m4 есть.
Правда, читаю я не маны, а инфо или документацию в ТеХ.
В чём проблема-то?
У меня здесь тоже не Уних, но и sed, и m4 есть.
Правда, читаю я не маны, а инфо или документацию в ТеХ.
Что поставить, и главное, зачем?
Например, CygWin или MinGW.
Работать удобнее будет.
Работать удобнее будет.
В чем удобство будет? Проще говоря, нафиг надо?
Интепретатор перла не изменится - то есть менять его и не надо, делается-то для машины, где все виндовое.
Цигвин есть, стоял, теперь не стоит и надобности не чувствую.
Интепретатор перла не изменится - то есть менять его и не надо, делается-то для машины, где все виндовое.
Цигвин есть, стоял, теперь не стоит и надобности не чувствую.
1. Будет приличная обработка текста, достаточно быстрая.
Можешь, конечно, переписать всё на перле, но смысл?
2. Будет приличная работа с множествами файлов.
Можешь и это переписать на перле, а смысл?
3. Будет rcs/cvs.
Можешь и это переписать на перле...
Можешь, конечно, переписать всё на перле, но смысл?
2. Будет приличная работа с множествами файлов.
Можешь и это переписать на перле, а смысл?
3. Будет rcs/cvs.
Можешь и это переписать на перле...
1 Что ты подразумеваешь под "приличной обработкой текста"?
2 Что такое "приличная работа" с ... ?
3 И наконец, что такое rcs/cvs? Правда не знаю
2 Что такое "приличная работа" с ... ?
3 И наконец, что такое rcs/cvs? Правда не знаю

Будут diff, patch, cat... awk (заменяет половину ёкселя sed(тоже помогает grep, xargs, find.
Это, конечно, не только textutils.
RCS -- Revision Control System. Даёт возможность нормально работать с версиями (откаты к предыдущим, нумерация, хранение, автоматическая вставка номера в программу и пр.)
CVS -- Concurrent Versioning System. Можно работать в несколько рук с поддержкой версий (основана на RCS) для кучи файлов.
CVS мне пока не требовалась, а RCS пользуюсь.
Вообще, GNU в своём "Not UNIX" даёт очень удобное средство разработки.
---
...Я работаю...
Это, конечно, не только 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 тоже есть.
Из man-страницы perlrun:
-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".
А что, cpp до сих пор распознаёт "#<куча пробелов>include" как директиву?
Надо проверить, а то вдруг ещё живо...
Я бы на месте спрашивающего, воспользовался бы текстовым препроцессором под названием "gema".
Во-первых, потому что удобно. Вряд ли придётся включать файлы на лету.
А если и придётся это моэно сделать средствами shell, даже при условии, что shell=command.com
Надо проверить, а то вдруг ещё живо...
Я бы на месте спрашивающего, воспользовался бы текстовым препроцессором под названием "gema".
Во-первых, потому что удобно. Вряд ли придётся включать файлы на лету.
А если и придётся это моэно сделать средствами shell, даже при условии, что shell=command.com
Конечно, распознаёт.
Мне очень интересно, зачем понадобился именно #include и чем не подходит use/require/do.
Мне очень интересно, зачем понадобился именно #include и чем не подходит use/require/do.
Если "do" --- это полностью изолированное исполнение sh, то понятно, почему он не понравился.
Если "use", "require" --- это подключение модулей, то непонятно, почему они не понравились.
Потому что "#include" --- подпорка, хоть как-то дающая возможность выжить кривому полустековому языку Си.
Вообще-то, действительно, незачем куски файлов включать.
---
...Ибо нефиг...
Если "use", "require" --- это подключение модулей, то непонятно, почему они не понравились.
Потому что "#include" --- подпорка, хоть как-то дающая возможность выжить кривому полустековому языку Си.
Вообще-то, действительно, незачем куски файлов включать.
---
...Ибо нефиг...
Оставить комментарий
Eugenia_2005
Какой субж, кто подскажет?В справке роюсь, не нахожу.