Perlのシステムスクリプトがあります。スクリプトの何が問題になっているのかを判断するには、bash-xに相当するものが必要です。同等のものはありますか?
編集:bash -xが行うことは、評価されるときに各行を出力することです。これにより、パス変数またはファイルが欠落しているコードのデバッグが非常に簡単になります。
Devel::Trace
または Devel::ebug
を見てください。
w.pl
という名前のこのプログラムを考えると:
#!/usr/bin/Perl
use strict;
use warnings;
my $answer = 42;
if ($answer == 6 * 9) {
print "everything is running fine.\n";
} else {
warn "there must be a bug somewhere...\n";
}
Devel::Trace
を使用して、実行を監視できます。
Perl -d:Trace w.pl
これにより、次の出力が生成されます。
>> w.pl:6: my $answer = 42;
>> w.pl:8: if ($answer == 6 * 9) {
>> w.pl:11: warn "there must be a bug somewhere...\n";
there must be a bug somewhere...
Devel::DumpTrace
モジュールは2011年から利用可能です。
使用例:
$ cat demo.pl
# 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);
「Perl-d」(デバッガーをオンにする)または「Perl-c」(実行する前にスクリプトを確認する)を確認する必要があります
Perlスクリプトには常に次のステートメントを含めてください。
use strict;
use warnings;
デバッグする場合は、-d
スイッチを使用してください。そして、ここにコマンドがあります: http://www.domainavenue.com/pl-debug.htm
お役に立てば幸いです。