The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"RE: Синтаксис в Perl (Help!)"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"RE: Синтаксис в Perl (Help!)"
Сообщение от Александр Искать по авторуВ закладки on 17-Июл-02, 12:08  (MSK)
Народ!!!
Подскажите как в перловый скрипт вставить последовательность "консольных"
команд
`cp /usr/local/drweb/old_dll/drweb32.dll  /usr/local/drweb`
`killall -HUP drwebd`
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: Синтаксис в Perl (Help!)"
Сообщение от Dawnshade emailИскать по авторуВ закладки on 17-Июл-02, 12:24  (MSK)
system или exec
  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: Синтаксис в Perl (Help!)"
Сообщение от Александр Искать по авторуВ закладки on 17-Июл-02, 12:55  (MSK)
>system или exec

для сведения (до меня наконец дошло :-) - запятую пропустил)
в перле достаточно написать
`cp ./old_dll/drweb32.dll /usr/local/drweb`;
`killall -HUP drwebd`;


  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "RE: Синтаксис в Perl (Help!)"
Сообщение от uldus Искать по авторуВ закладки on 17-Июл-02, 14:20  (MSK)
>в перле достаточно написать
>`cp ./old_dll/drweb32.dll /usr/local/drweb`;

Всеже, это не совсем верно. Правильно написать так (разницу узнай из man'а):
  system ("cp", "-f", "./old_dll/drweb32.dll", "/usr/local/drweb");
  system ("killall", "-HUP" ,"drwebd");


  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "RE: Синтаксис в Perl (Help!)"
Сообщение от stas emailИскать по авторуВ закладки on 17-Июл-02, 17:05  (MSK)
>>в перле достаточно написать
>>`cp ./old_dll/drweb32.dll /usr/local/drweb`;
>
>Всеже, это не совсем верно. Правильно написать так (разницу узнай из man'а):
>
>  system ("cp", "-f", "./old_dll/drweb32.dll", "/usr/local/drweb");
>  system ("killall", "-HUP" ,"drwebd");

а если надо выходной поток получить, что тогда делать с этой system?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "RE: Синтаксис в Perl (Help!)"
Сообщение от uldus Искать по авторуВ закладки on 17-Июл-02, 17:26  (MSK)
>>  system ("killall", "-HUP" ,"drwebd");
>
>а если надо выходной поток получить, что тогда делать с этой system?

В рассматриваемом случае нужно анализировать код ошибки, а не выходной поток. Если нужен выходной поток - это в корне отличающаяся ситуация. Тогда более логично использовать open(FILE, "prog_path|") || die "error";

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "RE: Синтаксис в Perl (Help!)"
Сообщение от J Искать по авторуВ закладки on 17-Июл-02, 17:31  (MSK)
>>>в перле достаточно написать
>>>`cp ./old_dll/drweb32.dll /usr/local/drweb`;
>>
>>Всеже, это не совсем верно. Правильно написать так (разницу узнай из man'а):
>>
>>  system ("cp", "-f", "./old_dll/drweb32.dll", "/usr/local/drweb");
>>  system ("killall", "-HUP" ,"drwebd");
>
>а если надо выходной поток получить, что тогда делать с этой system?
>

open(COMMAND, "cp -f ./old_dll/drweb32.dll /usr/local/drweb |");
while (<COMMAND>){
}

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "RE: Синтаксис в Perl (Help!)"
Сообщение от trdmitry emailИскать по авторуВ закладки on 22-Июл-02, 08:09  (MSK)
Подскажи пожалуйста, почему лучше использовать system чем `` ??
В манах ничего не нашел


  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "RE: Синтаксис в Perl (Help!)"
Сообщение от uldus Искать по авторуВ закладки on 22-Июл-02, 11:18  (MSK)
>Подскажи пожалуйста, почему лучше использовать system чем `` ??

1. Возвращает код ошибки.
2. Выводит результат в STDOUT.
3. Не засоряет память результатом вывода программы, что предотвращает возможность DoS атаки (попробуй выполнить perl -e '`yes`;')
4. Можно избежать вызова программы через shell, т.е. не позволяет подсунуть ";rm -rf /;" в качестве параметра.

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру