Решил постараться переезжать на Perl в качестве интерактивного
интерпретатора вместо Python. Один калькулятор
(
d65882c3c5decb9e2216d7a8de98c1d422c2c42d) всё равно мне не заменял
время от времени запускаемый python, где и что-то в/из hex надо перевести,
UTF-8 (де)кодировать, части строчек как-то потасовать, и т.д., и т.д..
А почему я это делаю в столь мне ненавистном Python? Непорядок. Уж что
что, но для строчек Perl идеально должен подходить.
Для удобного интерактивного REPL-а многие предлагают запускать с -de1
(debug и выполнение программы "1"). В нём есть "x" команда для показа
всяких сложных структур. Но надо делать "p" чтобы вывести значение
переменной. А хочется, как в Python, чтобы последнее значение выводилось.
Нашёл рецепт с "say eval"-ом. Обернул в rlwrap, автоматически импортирую
Encode и Data::Dumper с добавлением алиаса "x":
rlwrap --substitute-prompt "> " \
perl -MEncode -MData::Dumper \
-e '*x = \&Dumper; $_dummy = $x;' \
-e '$Data::Dumper::Useqq = 1;' \
-wnE 'say eval()//$@'