我正在尝试匹配文本文件中的文件路径并将它们替换为它们的共享文件路径。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"
因此在文本文件中不匹配?
对此的任何建议将不胜感激,干杯。