「perl-d」スイッチを使用して、SuSeLinuxでperlプログラムをデバッグしていました。
デバッグ中、プログラムは報告していましたXYZ variable is not set
デバッガー内でXYZの値を設定するにはどうすればよいですか?
デバッガー内でフォローしようとしましたが、機能しませんでした。
set XYZ=ABC
my $XYZ=ABC
setenv XYZ ABC
私はこれについて少しグーグルをしました。しかし、私が欲しいものを見つけることができませんでした。
デバッグコンソールはPerl式を使用するため、文字列の場合は値を引用符で囲む必要があります。
エラーをスローする行の前にプログラムを移動し(ブレークポイントを確認しb <line>てください。デバッガーにあります)、値を設定する必要があります。
> $XYZ='ABC'
ここに良いリソースがあります:http://obsidianrook.com/devnotes/talks/perl_debugger/
$ XYZを文字列ABCに設定しようとしていると仮定して、次のことを試してください。
$XYZ = 'ABC'
使用する場合
my $XYZ='ABC'
現在のスコープでのみ変数$XYZを定義します。デバッガーでのテストから、そのスコープはデバッグコンソールの外部に拡張されていないように見えます(つまり、コンソールのその行でのみアクセス可能です)。例えば
DB<2> my $x = "hello"; print "$x"
hello
DB<3> print $x
Use of uninitialized value $x in print at (eval 8)[/usr/share/perl/5.12/perl5db.pl:638] line 2.