На спане есть модуль Инги дёт Нета (Брайана Ингерсона) под названием XXX, предназначенный для — ха! — для отладки.
Модуль экспортирует несколько функций WWW, XXX, YYY и ZZZ, которые печатают дамп того, что находится справа. То есть достаточно вписать в нужное место XXX, и выполнение программы прекратится отладочным сообщением:
use v5.12;
use XXX;
XXX my @digits = 'a'..'f';
--- a
--- b
--- c
--- d
--- e
--- f
...
at 1.pl line 4
По умолчанию дамп делается в формате YAML, но это возможно переопределить, например:
use v5.12;
use XXX -with => 'Data::Dumper';
XXX my $person = {sex => 'male', age => 30};
$VAR1 = {
'age' => 30,
'sex' => 'male'
};
at 2.pl line 4
Вызов XXX приводит к завершению программы (die), а WWW печатает предупреждение (warn).
Несмотря на то, что все равно приходится явно подключать модуль (use XXX), подход очень интересный: написать в начале (или любой другой части — функция возвращает все свои аргументы) строки три буквы (хотя еще удобнее было бы, если бы названия функция были в нижнем регистре) намного проще и быстрее, чем, например, say Data::Dumper($var).
use Data::Dump "pp";
print pp($var);
тоже не длинно)
А у меня для perl файлов vim настроен так, что DD превращается в use Data::Dumper;, а PD - в print Dumper.