вопрос Линуксоидам
exec?
Для таких задач придуманы yes(1) и exec.
---
...Я работаю антинаучным аферистом...
спасибо за ответы, приду домой прогуглю эти функции.
Хотя...
Это вполне в духе линуксоедов --- гуглять вместо чтения документации.
---
Q43: А какое предназначение у винды?
-------------------- test1.pl -------------------------
#!/usr/bin/perl -w
print "delete dir? y/n ";
chomp($yn1 = <stdin>);
if($yn1 eq "y")
{
system('test2.pl');
exit; # чтобы после выполнения test2.pl прога закончила работу
}
------------------------------------------------------------
-------------------- test2.pl -------------------------
#!/usr/bin/perl -w
print "HI\n";
print "delete that dir? y/n \n";
chomp($yn2 = <stdin>);
if($yn2 eq "y")
{
print "Deleting...\n";
}
------------------------------------------------------------
у меня все работало. а в чем у тебя сложность-то была? я что-то не понял из твоего поста
А test2.pl можно запускать независимым процессом с помощью амперсента
./test2.pl&
Так ему нужно было, чтобы test1 завершался немедленно, а не дожидался завершения test2. Верно пишет КОНТРА, нужен exec, и в Перле он есть.
См.
perldoc -f mkdir
perldoc -f exec
perldoc -f system
Оставить комментарий
Irma1
как мне из одного perl-скрипта передать управление другому завершив при этом первый скрипт?т.е. для примера, есть 2 скрипта:
1(t2.pl):
#!/usr/bin/perl -w
`mkdir test`;
print "delete dir? y/n ";
chomp($yn1 = <stdin>);
if($yn1 eq "y")
{`./t3.pl` }
2(t3.pl):
#!/usr/bin/perl -w
print "HI\n";
print "delete that dir? y/n \n";
chomp($yn2 = <stdin>);
if($yn2 eq "y")
{`rm -r test`}
я хочу, чтобы после выбора "y" запускался t3.pl и управление передавалось ему, а t2.pl заканчивал работу. если запустить как есть сейчас, то t2.pl не заканчивает работу, пока запущен t3.pl, при этом в терминале (вся работа через окошко "терминала") не появляется приветствие из t3.pl и запрос на удаление директории.
прошу помощи =)
PS я ламер тот еще..