如何创建具有变量名的变量?例如 $$ref;
这里$ref="name1"; or $ref ="name2" ;
如何将单引号字符串转换为双引号字符串..?例如。
'Hello\n'; to "Hello\n";
如果
quotemeta
对字符串进行操作..可以将其恢复为以前的形式..吗?例如"hello\\nWorld\\\$" to "hello\nWorld\$.
问问题
124 次
3 回答
4
如何创建具有变量名的变量?例如 $$ref;
使用单引号而不是双引号。
my $variableName = '$$ref';
print $variableName;
这不是很常见,很可能表明设计错误。问问自己为什么需要这个。
如何将单引号字符串转换为双引号字符串..?
这个问题对我来说毫无意义。字符串就是字符串,不管是单引号还是双引号。一旦创建,您不知道它是如何创建的。你想做什么?
如果您想要的是在现有字符串中扩展变量,那么文档非常清楚如何做到这一点。
如果quotemeta对字符串进行操作..它可以恢复到以前的形式..?
于 2013-07-08T14:17:49.173 回答
1
你最终想要达到什么目的?如果您提供一些上下文,那么明智地回答会容易得多。
截至目前,第 1 部分要求使用散列而不是普通变量,除非您有充分的理由不这样做:
#!/usr/bin/perl -w
use strict;
my %hash = ( name1 => 42, name2 => 3.14 );
my $key = (rand() < 0.5) ? "name1" : "name2";
print $hash{$key};
于 2013-07-08T15:27:10.053 回答
0
是的。这称为符号引用,出于安全原因不推荐使用。而且也很难调试。
是的。
我的 $text = '你好\n';
(我的 $interpreted = $text) =~ s{ \\n }{\n}gmsx;
打印 "'$text'\n";
print "'$解释'\n";
于 2013-07-08T14:51:20.597 回答