|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 09 Dec 2001 16:36:56 To : Andrew Martovlos Subject : Re: "Интерфейс коммандной строки" в perl'е. -------------------------------------------------------------------------------- Здравствуй, Andrew Martovlos. AM>> Как бы организовать (безболезненно) возможность редактировать AM>> строку стандартного ввода в программе на perl'е. Типа $input AM>> = <>; AM>> И чтобы можно было перемещаться в начало строки, в конец, AM>> (C^a, C^e и т.д) стрелками пользоваться... А то появляеться AM>> всякая херня, типа ^A^A^A^A^H^H^?^?^? и т.д. Artem>> Как и во всех остальных подобных случаях, с помощью Artem>> readline. AM> Спасибо. Только я не совсем понял принципа действия. :( AM> Тот пример что дан в мануале... AM> use Term::ReadLine; AM> $term = new Term::ReadLine 'Simple Perl calc'; AM> $prompt = "Enter your arithmetic expression: "; AM> $OUT = $term->OUT || STDOUT; AM> while ( defined ($_ = $term->readline($prompt)) ) { AM> $res = eval($_), "\n"; AM> warn $@ if $@; AM> print $OUT $res, "\n" unless $@; AM> $term->addhistory($_) if /\S/; AM> } AM> .. к сожалению не работает, и я не могу понять в чем причина. :( А ты б поставил перед ним use strict, так он бы тебе сразу на все ошибки и выругался... Замени STDOUT на \*STDOUT - заработает. Если у тебя readline на самом деле есть, а то, подозреваю, оно работает и без поддержки таковой (см. слово possible в описании метода readline). -- Artem Chuprina RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/358.49, ICQ: 13038757 Отправлено через сервер Talk.Ru - http://www.talk.ru --- ifmail v.2.15dev5 * Origin: Talk.Ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/6359b47ba8d5.html, оценка из 5, голосов 10
|