Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Perl: Общие вопросы > результат выполнения |
Автор: chaos 10.1.2005, 15:52 |
допустим делаю system("perl test.pl"); содержимое test.pl print "hello world"; как можно получить эту строку? |
Автор: dimes 10.1.2005, 16:16 |
1. my $out=join "",`test.pl`; 2. open(Exe,'|test.pl'); while (<Exe>){ $out.=$_; } close(Exe); Про пайпу нужно по точнее прочитать, есть разница где она стоит в конце или в начале |
Автор: chaos 11.1.2005, 08:39 | ||||
ты наверное так хотел написать:
|
Автор: dimes 11.1.2005, 11:54 |
Объясни что ты хочеш получить, результат выполнения скрипта или содержимое скрипта. Если 1 то я тебе показал как. |
Автор: cybear 11.1.2005, 19:36 |
если выполняеться именно перл скрипт, тогда вроде можно так: system "perl test.pl >> temp.txt"; а потом читать темп.тхт.... |
Автор: korob2001 11.1.2005, 21:49 | ||||||
Как я понял, нужно сохранить результат выполнения системной команды в переменную, для дальнейшей обработки. Если да, то system('dir') просто выполнит команду dir, тебе же нужны обратные кавычки. Просто напиши так:
Теперь давай подумаем как получить строку из файла test.pl Допустим файл test.pl выглядит так:
Нам нужно получить результат работы этого файла и сохранить его в переменную. Для того, что бы пример был более интересным, давай запросим во втором файле имя пользователя, затем получим строку "Hello, world!" из файла test.pl, после добавим к этой строке такую строку " and имя_пользователя!" и результат выведем на экран. Пишем такой код:
Сохраним его в файле hello.pl, в тот же каталог где лежит файл test.pl. Теперь запустим файл hello.pl на выполнение. В командной строке вводим: C:\>perl hello.pl После программа запросит имя пользователя, введём своё имя и жмём Enter. В ответ получим такую строку: Hello, world and ваше_имя! Думаю понятно изложил. ;))))))))) Удачи. |