頻繁に呼び出される古いPerlコードがたくさんあります。新しいモジュールを書いていて、 Apacheのerror_logには、現在使用されているすべてのモジュールの警告が表示されます。例えば、コードベースのすべてのファイルに「警告」や-wを付けずにPerlの警告文が出力される
"my" variable $variable masks earlier declaration in same statement at
/path/to/module.pm line 40 (#1)
Useless use of hash element in void context at
/path/to/another/module.pm line 212 (#2)
主なレイアウトは、モジュールが含まれており、ウェブサイトの特定のページを作成するために必要とメインスクリプトは、その後、メニューのような静的な要素を処理し、それらに要求を指示し1つの巨大なスクリプトです。
私の現在のプロジェクトはこのメインスクリプトから分離されていますが、私は自分のコードをajaxで呼び出すときはいつでも、メインスクリプトを使用するいくつかの他のajax呼び出しがあります。私のプロジェクトに電話をしているときにのみ要求されます。
私はすべてのモジュールをグロップしていて、それらの中には使用警告(または-w)がありません。また、メインスクリプトと私自身のプロジェクトで警告なしの「すべて」を使用しようとしましたが、
この時点で私は次に何をすべきかというアイデアがなくなるので、すべての助けに感謝します。警告を抑制したいのですが、コードベースはかなり古いものであり、最初の警告はできません。
Apacheサーバーでもmod_perlが実行されていますが、それが違いを生む可能性がある場合は、CGIと何か関係があるかもしれませんが、証拠を見つけることはできません。
メインファイルに実装したときにうまくいきませんでしたが、 プロジェクトに実装した時点で問題なく動作していますが、これを解決してマークするとうまくいけばここに。乾杯。 – Fashim
私はプロジェクトの構造を理解していないので、 "メインプログラムの中で"声明をリラックスしようとしていました。帰属ありがとうございます。 – zdim
@Fashim Updated、これは私が言ったことです。私はそれが良いと思います。それを追跡するために警告を「die」(リンクされたポストの1つを参照)に変更し、完全なスタックトレースを出力することができます。私はその投稿にコメントを追加します。 – zdim