Я пытаюсь заменить строки в огромном файле, содержит много строк.Как изменить «x» и «y» в строке на «y» и «x» с помощью hash
File.txt
line1: "X" = 5.5; "Y" = 7.5; "Z" = 9.0;
line2: "V" = 66; "Y" = 3; "U" = 11.0;
так далее ...
заменой хэш (% rhash) содержит информацию о карте
$rhash{"X"} = "Y";
$rhash{"Y"} = "X";
$rhash{"Z"} = "A";
$rhash{"V"} = "B";
$rhash{"U"} = "C";
, когда я пытался
while (($cur, $cng) = each(%rhash)) {
$line =~ s/\Q"$cur"\E/\"$cng\"/g;
}
строка 1 - изменение int о либо
"X" = 5.5; "X" = 7.5; "A" = 9.0;
или
"Y" = 5.5; "Y" = 7.5; "A" = 9.0;
но правильное изменение
"Y" = 5.5; "X" = 7.5; "A" = 9.0;
, как я могу добиться этого ..
Спасибо за вашу помощь ...
Примечание: Ключи хэш не только литералы. Ключам может быть любой шаблон, который соответствует (\ S +) – AKS