gpt4 book ai didi

regex - 为什么这个 perl prog 不打印翻译文本?

转载 作者:行者123 更新时间:2023-12-04 06:17:05 24 4
gpt4 key购买 nike

我是 perl 和编程的新手,我刚刚发现了正则表达式和替换运算符。

#!/usr/bin/perl

open(LEET, "leet.txt") or die "Can't open leet.txt: $!\n";
while($line = <LEET>) {
$line =~ s/4/a/gi, s/3/e/gi;
}
print $line;

为什么他不打印任何东西?我想让一个 leet speak 翻译器打开一个文本文件并打印出翻译后的文本。

最佳答案

您只打印最后一行。尝试移动 print在你的循环中:

while($line = <LEET>) {
$line =~ s/4/a/gi;
$line =~ s/3/e/gi;
print $line;
}

我还使用了两个单独的正则表达式替换,您不能按照您在问题中显示的方式组合它们。

注意 Perl 还有 tr运算符,这是在一个步骤中进行两个(单字符)替换的另一种方法:
$line =~ tr/43/ae/;

关于regex - 为什么这个 perl prog 不打印翻译文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7102260/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com