2015-02-11 116 views
3

如何打印v字符串?如何打印v字符串?

our $VERSION = v2.1; 
print "$VERSION\n\n"; 

打印表情。 ☻☺

+0

您使用的是Windows机器打印的 “车”?在我的Mac上(OS X 10.10.2,Perl 5.20.1),输出是4个字节,0x02,0x01,(或者control-B,control-A)和两个换行符。 – 2015-02-11 05:55:01

+2

按设计工作。 https://metacpan.org/pod/perldata#Version-Strings – mob 2015-02-11 05:56:54

+0

@JonathanLeffler是的,我在Windows机器上。 perl v5.18.2 – waghso 2015-02-11 06:23:12

回答

8

打印v字符串是什么意思?你想要什么输出?

你可以这样做:

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

或本:

print version::->parse($VERSION)->stringify; # prints "v2.1" 

或本:

print version::->parse($VERSION)->normal; # prints "v2.1.0" 

或本:

print version::->parse($VERSION)->numify; # prints "2.001000" 

或者(所有的最佳选择),你可以避免完全使用v字符串。

+0

我想打印'2.1'。第一个选项可以做到。 – waghso 2015-02-11 06:20:18

+0

请注意,除第一个以外的所有内容都将采用任何形式的版本;如果给出一个非v字符串版本,第一个将非常无益 – ysth 2015-02-11 17:13:34

2

简单地说,V-Strings用于将ASCII码转换为字符。

例如,如果我们需要打印一个字符串 “汽车” 使用V-字符串,我们需要查找ASCII值在ASCII表(http://www.asciitable.com/

C = 99的每个字符,A = 97,R = 114

所以,

$var = v99.97.114; 
print("$var \n"); 

上面的语句将