我无法使用此代码:
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),反之亦然。使用我的代码后,所有浊音辅音都转为清音但立即转换回浊音辅音。我不太确定如何进行第一组运行,然后是第二组运行。
感谢您的帮助!
答案 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";