通过替换从另一个字符串变量定义一个字符串变量?

发布于 12-11 09:28 字数 230 浏览 0 评论 0原文

我有时需要两个字符串变量,其中第二个变量的值是通过字符替换从第一个变量派生的。

有没有比下面所示更简洁的方法?使用两个单独的命令来定义第一个变量中的第二个变量是容易出错且麻烦的:

# Example: "pstopdf" and "ps2pdf":
my $name1 = "pstopdf";
my $name2 = $name1;
$name2 =~ s/to/2/;   

I sometimes need two string variables, where the value of the second one is derived from the first one by character substitution.

Is there a more concise way to do it than shown below? Taking two separate commands for defining the second var from the first is bug-prone and cumbersome:

# Example: "pstopdf" and "ps2pdf":
my $name1 = "pstopdf";
my $name2 = $name1;
$name2 =~ s/to/2/;   

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

香橙ぽ2024-12-18 09:28:27
(my $name2 = $name1) =~ s/to/2/;
(my $name2 = $name1) =~ s/to/2/;
遇到2024-12-18 09:28:27

Perl 5.14 中的新功能之一是 使用 /r 标志进行非破坏性替换:s///r 如果您在例如,地图

使用 /r 标志,您可以编写

my $name2 = $name1 =~ s/to/2/r;

One of the new features in Perl 5.14 is non-destructive substitution with the /r flag: s///r which comes in handy if you are doing this kind of transformation in a map, for example.

Using the /r flag, you'd write

my $name2 = $name1 =~ s/to/2/r;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文