Как запустить скрипт Perl в режиме отладки (например, «bash -x» для сценариев оболочки)?Запуск сценария Perl в режиме отладки
Я попытался параметр -w
как в следующем примере:
#!/usr/bin/perl -w
Но это не сработало.
Как запустить скрипт Perl в режиме отладки (например, «bash -x» для сценариев оболочки)?Запуск сценария Perl в режиме отладки
Я попытался параметр -w
как в следующем примере:
#!/usr/bin/perl -w
Но это не сработало.
use strict;
use warnings;
use diagnostics;
достаточно ИМО.
Если вы хотите использовать отладчик, а затем проверить: perldebug
Вы можете использовать встроенный в командной строке отладчика, как:
perl -d yourcode.pl
Также смотрите:
perl -Dt
вроде как bash -x
, но вы должны специально скомпилировать perl
, чтобы такого рода трассировки.
Но с любым perl
, вы можете запустить сценарий с помощью отладчика:
perl -d yourscriptname yourscriptargs
См perldebtut для начинающих.
Для bash -x
стиль следа сценария Perl, выйдите Devel::DumpTrace
. Пример:
demo.pl:
#!/usr/bin/perl
# demo.pl: a demonstration of Devel::DumpTrace
$a = 1;
$b = 3;
$c = 2 * $a + 7 * $b;
@d = ($a, $b, $c + $b);
выхода программы:
$ perl -d:DumpTrace demo.pl
>>>>> demo.pl:3: $a:1 = 1;
>>>>> demo.pl:4: $b:3 = 3;
>>>>> demo.pl:5: $c:23 = 2 * $a:1 + 7 * $b:3;
>>>>> demo.pl:6: @d:(1,3,26) = ($a:1, $b:3, $c:23 + $b:3);
Что вы имеете в виду "это не сработало"? Пожалуйста, покажите, как вы пытались запустить скрипт и какова была ошибка. – dg99
Добро пожаловать в переполнение стека. Вскоре прочитайте страницу [О программе]. '-w' будет работать, но он не запускает debug (он добавляет предупреждения, в то время как Perl компилирует скрипт). См. [Perldebug] (http://perldoc.perl.org/perldebug.html) о том, как запускать и использовать отладчик Perl. Обратите внимание, что вопрос, который говорит, что «это не сработало», не показывая код, фактический результат и ожидаемый результат на самом деле не отвечают - такие вопросы часто закрываются как «вне темы». –
«-w» активирует предупреждения в perl. См. [Здесь] (http://perldoc.perl.org/perldebug.html) для отладки. – Jens