テキスト ファイル内のファイル パスを一致させ、共有ファイル パスに置き換えようとしています。EG"X:\Group_14\Project_Security"
置き換えたい文字列"\\Project_Security$"
。
\
バックスラッシュ ( ) を使用して別のバックスラッシュ ( ) をエスケープしているため、構文を理解するのに問題があります\\
が、これはテキスト ファイル内のパスの一致には機能しないようです。
open INPUT, '< C:\searchfile.txt';
open OUTPUT, '> C:\logsearchfiletest.txt';
@lines = <INPUT>;
%replacements = (
"X:\\Group_14\\Project_Security" => "\\\\Project_Security\$",
...
(More Paths as above)
...
);
$pattern = join '|', keys %replacements;
for (@lines) {
s/($pattern)/@{[$replacements{$1}]}/g;
print OUTPUT;
}
何が起こっているのか完全にはわかりませ"\\\\Project_Security\$"
ん\\Project_Security$"
。
問題は、正しく "X:\\Group_14\\Project_Security"
評価されていないため、テキストファイル内で一致しないことにあると思いますか?
"X:\Group_14\Project_Security"
これに関するアドバイスをいただければ幸いです、乾杯。