Что: 060e8ee05ad8f746baaf40b953483a397cfce9cb
Когда: 2023-07-07 10:42:07+03:00
Темы: perl python
Perl REPL Решил постараться переезжать на 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()//$@'
From: kmeaw Date: 2023-07-09 09:02:01Z Предлагаю добавить ещё -Mbigint, чтобы получить возможность легко оперировать большими числами (как в Python) и "56->as_hex".
From: Sergey Matveev Date: 2023-07-09 09:18:43Z
From: Sergey Matveev Date: 2023-07-09 11:44:41Z
From: kmeaw Date: 2023-07-09 15:13:07Z > отбрасывает любую дробную часть чисел, сплошные integer-ы Если не нравится такое поведение, то есть ещё -Mbignum
From: Sergey Matveev Date: 2023-07-09 16:12:53Z
Сгенерирован: SGBlog 0.34.0