改变浊音和清音辅音Perl

时间:2014-04-16 01:07:57

标签: perl

我无法使用此代码:

print "Type something:\n";
chomp($word=<STDIN>);
$word=~s/t/d/gi;
$word=~s/p/b/gi;
$word=~s/k/g/gi;
$word=~s/s/z/gi;

$word=~s/d/t/gi;
$word=~s/b/p/gi;
$word=~s/g/r/gi;
$word=~s/z/s/gi;
print "Your voiced/devoiced string is: $word\n";

我试图将辅音(T,P,K,S)转换为清音辅音(D,B,R,S),反之亦然。使用我的代码后,所有浊音辅音都转为清音但立即转换回浊音辅音。我不太确定如何进行第一组运行,然后是第二组运行。

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

改为使用tr

  

tr/SEARCHLIST/REPLACEMENTLIST/cdsr

     

y/SEARCHLIST/REPLACEMENTLIST/cdsr

     

使用替换列表中的相应字符音译搜索列表中找到的所有出现的字符。它返回替换或删除的字符数。如果未通过=~!~运算符指定字符串,则$_字符串将被音译。

脚本如下:

print "Type something:\n";
chomp($word=<STDIN>);

$word =~ tr/tpksdbgzTPKSDBGZ/dbgztprsDBGZTPRS/;

print "Your voiced/devoiced string is: $word\n";