为什么版本不可打印?

时间:2017-06-21 08:20:56

标签: perl version versioning

我有这个班轮:

perl -Mversion -e 'our $VERSION = v1.02; print $VERSION'

输出是(它不可见,有两个字符:1,2):

enter image description here

为什么模块版本不可打印?我希望看到v1.02

1 个答案:

答案 0 :(得分:6)

我找到了这个DOC

print v9786;              # prints SMILEY, "\x{263a}"
print v102.111.111;       # prints "foo"
print 102.111.111;        # same

回答我的问题:
尽管v1.02 v-string在内部不是字符串。当我们想要打印它时,我们应该做额外的步骤。例如,如上所述使用模块version

<强> UPD
我找到了下一个解决方案(DOC):

printf "%vd", $VERSION;  # prints "1.2"

<强> UPD

应该阅读this

  

输入v-strings有两种方法:带有两个或更多小数点的裸数,或带有一个或多个小数点的裸数和带有'v'字符的前导(也是裸)。例如:

$vs1 = 1.2.3; # encoded as \1\2\3
$vs2 = v1.2;  # encoded as \1\2