увы, я в перле полный лох, а тут возникла необходимость чутка модифицировать скриптик.
мне нужно проверять, сколько прошло времени с некоего события, и если прошло больше n секунд, то выполнять system (mycommand)
признаком, что произошло событие, является файл. время события может храниться в файле, или файл может быть пустой, проверять можно по дате/времени файла.
т.е. мне нужна команда, которая создает этот файл.
и строчка, которая смотрит этот файл, и проверяет, прошло ли больше n сек с момента создания файла. и если прошло, то этот файлик стирается, и делается вызов system ()
perl, вызов system(..) по истечении некоторого времени
Модератор: Модераторы разделов
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: perl, вызов system(..) по истечении некоторого времени
в качестве иллюстрации — bash:
Код: Выделить всё
1. touch <myfile>
2. (( $(date +%s)-$(stat -c %Z <myfile>)-<n> > 0 )) && (rm <myfile>; <mycommand>)Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
tull
- Сообщения: 484
-
SSDD
- Сообщения: 157
- ОС: linux
Re: perl, вызов system(..) по истечении некоторого времени
my ($file,$int,$cmd)="/tmp/passwd",10,"ls /tmp/passwd";
system($cmd) if time() - (stat($file))[10] > $int && unlink $file; # проверяем, удаляем, запускаем
open(F,">$file") && close(F); #создаем
system($cmd) if time() - (stat($file))[10] > $int && unlink $file; # проверяем, удаляем, запускаем
open(F,">$file") && close(F); #создаем
-
tull
- Сообщения: 484
Re: perl, вызов system(..) по истечении некоторого времени
SSDD, чего-то у меня команда не выполняется... (я уже и полный путь к команде прописал)
-
tull
- Сообщения: 484
Re: perl, вызов system(..) по истечении некоторого времени
странное дело, когда прописал
my $cmd = "команда";
то все заработало...
спасибо за помощь!
my $cmd = "команда";
то все заработало...
спасибо за помощь!
-
SSDD
- Сообщения: 157
- ОС: linux
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: perl, вызов system(..) по истечении некоторого времени
на зеркало, на зеркало пеняйте, уважаемый SSDD.
p.s. ну и заведомо деструктивные действия в качестве примера приводить не стоит. тут вам не там.
p.s. ну и заведомо деструктивные действия в качестве примера приводить не стоит. тут вам не там.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог