我只是好奇, - 甚至可以从标量变量创建一个v-string而不诉诸"D:/TestFolder"
?
予。例如,这可行,但使用eval
:
eval
这两个变体也有效,并且不使用my $var = 'v1.2.3';
my $conversion = to_vstring_1($var);
# Prints "Version: 1.2.3, type: VSTRING"
printf("Version: %vd, type: %s\n", $conversion, ref \$conversion);
sub to_vstring_1 {
my ($arg) = @_;
$arg =~ tr/0-9.//cd;
$arg = 'v' . $arg;
return eval $arg;
}
,但它们打印“SCALAR”而不是“VSTRING”:
eval
那么,还有第四种方法吗?