これに対する答えを探していましたが、運がありません。基本的なものが欠けていると思うので、恥ずべき質問をします。このコードは、ファイルをアップロードして抽出し、フォームの選択に基づいてアップロードされたファイルから HTML 形式で情報を表示する HTML フォーム + CGI スクリプトの一部です。この部分では、「mylogs」というディレクトリに .xml ファイルのリストを作成し、パスの一部を削除して文字を追加し、有効な HTTP リンクにします。
まで実行されfor (@array) {s/^/<a href="/};
、小なり文字が問題を引き起こしています。これを削除すると、他のすべてが処理されるためです。小なり記号が含まれていると、すべての出力が削除されます。
my $dir = "$upload_dir/var/mylogs";
my @array = <$dir/*.xml>;
for (@array) {s/\/volume1\/web//g};
for (@array) {s/^/http:\/\/192.168.1.155/g};
for (@array) {s/^/<a href="/g};
for (@array) {s/$/<a\/>/g};
私もキャラクターをエスケープしようとしましたが、うまくいきませんでした。なぜそれが起こるのか、または上記の最終結果を達成するためのより良い方法はありますか?
御時間ありがとうございます。