我试图使用tr函数来指定两个数组,作为to和from集合。翻译似乎不起作用,或者我没有正确理解它。
由于我是perl的新手,请告诉我是否有做错什么。
我将数组加载为以下形式(我知道这部分是有效的):
open my $fh,'<',"${main_dir}/char_convert" or die "Cannot open allowed conversion file";
my @from_set;
my @to_set;
my @conversion;
while (my $lines = <$fh>) {
@conversion = split(" ",$lines);
push @from_set,$conversion[0];
push @to_set,$conversion[1];
}
#The variable $line holds the data I want converted:
my $statement;
my $result;
$statement = "tr\@from_set\@to_set\$line;"; # Setup the tr command
$result = eval($statement); # perform the conversion
print "$line\n";
结果与输入的数据相同,似乎没有进行转换。我做错了什么?
数据的一个示例部分为“PICAÑA”。
转换文件中的行为“Ñ N”。
因此,我期望得到“PICANA”,但我得到了原始数据。
感谢您的查阅。
char_convert
文件的示例将使问题更完整。但是,由于您已经有了答案,在这种情况下可能不是必要的 :)。 - cxw