This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.
--0-1832878440-877331180=:220
Content-Type: TEXT/PLAIN; charset=KOI8-R
Content-Transfer-Encoding: 8BIT
On Sun, 19 Oct 1997, LiLi WorkServer wrote:
> Доброе времячко всем!!!
>
> Ктонибудь знает как реализовать в PERLе выход из скрипта по нажатию буковки
> (например 'q'),
> без удавления Ентера, в ситуации типа:
> -=-
> #!/usr/local/bin/perl
> while()
> {
> #подготовка данных
> .....
> #вывод данных
> print Данные;
> .....
> #функция прерывющая исполнения по нажатию клавиши
> ???????????
> }
> -=-
> причем getc - не подходит ввиду нужности после буковки удавить Ентер.
>
> ПРОСЬБА ОТВЕТЫ ПРОДУБЛИРОВАТЬ ПИСЬМОМ
> на адрес: avkpa@anet.donetsk.ua
>
> С уважением,
> Ковальчук Андрей.
>
>
>
>
>
Dear,
Собственно скрипт, кот явл. обрезанным аналогом Mshell.
Только выход по 'x':-)
#!/usr/local/bin/perl
( $poor, $cmdfile) = @ARGV;
$menupath = "/usr/local/lib/menus/";
$file = join( '', $cmdfile, ".men");
$menufile = join( '', $menupath, $file);
open ( MENU, "$menufile");
$i = 0; $exec = 0;
while( <MENU>)
{
if ( $_ =~ /s$+?\*\*\*\*\*/) { $exec = 1; $i = 0; next; }
if ( $exec == 0)
{
$menu[ $i] = $_;
#($num, $temp) = split( '\.');
# $printmenu{ $num} = $temp;
}
else
{
( $num, $temp) = split( 'cmd=');
( $num, $poor) = split( ' ', $num);
$execmenu{$num} = $temp;
}
++$i;
}
close ( MENU);
while ( $st ne 'x')
{
print @menu;
print "\n\tSelect your choice [ or x for bye]:";
open( STRIKE, "/dev/tty");
read( STRIKE, $st, 1);
close( STRIKE);
if ( $st ne 'x')
{
# print $execmenu{ $st};
system $execmenu{$st};
system ( "logout");
}
}
Sincerely,
-- Alexei Yakimovich ISP "Donbass Online" nic-handle: YA33-RIPE Donetsk, Ukraine--0-1832878440-877331180=:220 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=mshell Content-Transfer-Encoding: BASE64 Content-ID: <Pine.BSF.3.95q.971020100620.220B@bull.dol.donetsk.ua> Content-Description: mshell.pl
IyEvdXNyL2xvY2FsL2Jpbi9wZXJsDQoNCiggJHBvb3IsICRjbWRmaWxlKSA9 IEBBUkdWOw0KDQokbWVudXBhdGggPSAiL3Vzci9sb2NhbC9saWIvbWVudXMv IjsNCg0KJGZpbGUgPSBqb2luKCAnJywgJGNtZGZpbGUsICIubWVuIik7DQok bWVudWZpbGUgPSBqb2luKCAnJywgJG1lbnVwYXRoLCAkZmlsZSk7DQoNCm9w ZW4gKCBNRU5VLCAiJG1lbnVmaWxlIik7DQokaSA9IDA7ICRleGVjID0gMDsg DQp3aGlsZSggPE1FTlU+KQ0Kew0KCWlmICggJF8gPX4gL3MkKz9cKlwqXCpc KlwqLykgeyAkZXhlYyA9IDE7ICRpID0gMDsgbmV4dDsgfSANCglpZiAoICRl eGVjID09IDApIA0KCXsNCgkJJG1lbnVbICRpXSA9ICRfOyANCgkJIygkbnVt LCAkdGVtcCkgPSBzcGxpdCggJ1wuJyk7DQoJIwkkcHJpbnRtZW51eyAkbnVt fSA9ICR0ZW1wOw0KCX0NCgllbHNlIA0KCXsNCgkJKCAkbnVtLCAkdGVtcCkg PSBzcGxpdCggJ2NtZD0nKTsNCgkJKCAkbnVtLCAkcG9vcikgPSBzcGxpdCgg JyAnLCAkbnVtKTsNCgkJJGV4ZWNtZW51eyRudW19ID0gJHRlbXA7DQoJfSAN CgkrKyRpOw0KIH0NCmNsb3NlICggTUVOVSk7DQoNCndoaWxlICggJHN0IG5l ICd4JykNCnsNCglwcmludCBAbWVudTsNCglwcmludCAiXG5cdFNlbGVjdCB5 b3VyIGNob2ljZSBbIG9yIHggZm9yIGJ5ZV06IjsNCglvcGVuKCBTVFJJS0Us ICIvZGV2L3R0eSIpOw0KCXJlYWQoIFNUUklLRSwgJHN0LCAxKTsNCgljbG9z ZSggU1RSSUtFKTsNCglpZiAoICRzdCBuZSAneCcpDQoJew0KIwkJcHJpbnQg JGV4ZWNtZW51eyAkc3R9Ow0KCQlzeXN0ZW0gJGV4ZWNtZW51eyRzdH07DQoJ CXN5c3RlbSAoICJsb2dvdXQiKTsNCgl9DQp9DQogDQo= --0-1832878440-877331180=:220-- -- end of forwarded message --
--
Kittle