这是一个愚蠢的问题;我需要这个更复杂的东西但是让它变得简单:
$i = quoteMeta 'A'; $line =~ tr/a-z/$i-Z/;
这是一个愚蠢的替代,这应该把小写字母变成大写字母,但我尝试过的东西不起作用.
好的,所以我看到这带来了很多混乱,真正的代码应该是:
$line = ~tr / A-Z / F-ZA-E /;
它应该是一个Caesers Chiper algorhytm.如果你想用固定数量的字母改变它,这可以正常工作,但我需要一个变量,所以我可以根据需要改变它.但我想发送eval
日Thnx
附:另外,为什么不// s /使用范围?
解决方法
如果你真的需要tr,你可以使用eval:
$i = quoteMeta 'A' eval("\$line =~ tr/a-z/$i-Z/;");