0

CPAN を使用するとエラーが発生しますが、出力が役に立たないため、これをデバッグすることにしました。

$ perl -d /usr/bin/cpan CPAN

Loading DB routines from perl5db.pl version 1.33
<...>
main::(/usr/bin/cpan:2):            eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
main::(/usr/bin/cpan:3):                if $running_under_some_shell;
  DB<1> b /usr/lib/perl5/5.14/HTTP/Tiny.pm:125
  DB<2> L
/usr/bin/cpan:
 2:         eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
   break if (/usr/lib/perl5/5.14/HTTP/Tiny.pm:125)
  DB<2> c

の後c、プログラムはブレークポイントを無視して最後まで実行されます。

/usr/lib/perl5/5.14/HTTP/Tiny.pm:125次の行で、条件付きブロックの外側にあります。

my $request = {
    method    => $method,
    scheme    => $scheme,
    host_port => ($port == $DefaultPort{$scheme} ? $host : "$host:$port"),
    uri       => $path_query,
    headers   => {},
};

142行目にブレークを設定しても(デバッグ中のエラーが発生しています)、違いはありません。

出力から、L必要な行ではなく現在の行にブレークポイントが設定されているように見えます。ただし、有効な構文としてperldebugリストします。b file:line

4

1 に答える 1