如何找出Perl版本

时间:2020-01-09 10:38:48  来源:igfitidea点击:

如何通过从Web浏览器运行CGI脚本来找出Perl版本?
如何在Windows或Linux/UNIX或Apple MAC OS X操作系统下的命令提示符下找到Perl版本?

Perl是实用提取和报告语言的缩写。
它是1987年由拉里·沃尔(Larry Wall)发明的通用编程语言。
最初开发用于文本操作。

Perl变得非常流行,现在用于各种各样的任务,包括Web开发和界面设计。
本教程说明如何使用各种方法检查Perl版本。

从Linux/Unix/BSD/OS X Shell提示符中查找Perl版本

如果您有权访问shell提示符(UNIX/Linux/macOS/BSD),请执行以下命令以查找perl版本:

$ perl -v

输出示例:

This is perl, v5.10.1 (*) built for x86_64-linux-gnu-thread-multi(with 53 registered patches, see perl -V for more detail)

Copyright 1987-2009, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

您也可以通过打开终端在Windows/Mac OS X下执行上述命令。

使用CGI脚本查找Perl版本

如果您的网络托管提供商不提供对Shell的访问,请使用以下perl程序找出perl版本:

避免启动新流程的简短版本(请参见下面的注释):

#!/usr/bin/perl
use strict;
my $title = "Perl Version";
 
print "Content-type: text/html\n\n";
print "<html><head><title>$title</title></head><body>";
 
print "<h2>$title</h2>\n";
print "Perl version : ".$];
 
print "</body></html>"

源代码version.pl

以下代码提供了更多信息:

#!/usr/bin/perl

use strict;
my $command=`perl -v`;
my $title = "Perl Version";
 
print "Content-type: text/html\n\n";
print "<html><head><title>$title</title></head><body>";
 
print "<h1>$title</h1>\n";
 
print '<hr>';
print $command;
print '</hr>';
 
print "</body></html>";

将version.pl脚本上载到cgi-bin目录,并通过执行url suc将其执行为

http://www.theitroad.local/cgi-bin/version.pl
https://www.theitroad.local/cgi-bin/version.pl

-V选项

-V选项提供有关Perl的详细信息,包括平台,编译器选项,Linux或Unix发行版所应用的补丁,搜索路径等等。
您所要做的就是在shell提示符下执行以下简单命令:

perl -V

Perl变量

您也可以使用$PERL_VERSION或$^ V作为Perl解释器的修订版,版本和子版本(表示为版本对象)。
该变量首次出现在perl 5.6.0版中; Perl的早期版本将看到未定义的值。
在perl v5.10.0之前,$^ V表示为v字符串。

$^ V可用于确定执行脚本的Perl解释器是否在正确的版本范围内。
例如:

warn "Hashes not randomized!\n" if !$^V or $^V lt v5.8.1

要将$^ V转换为其字符串表示形式,请使用sprintf()s%vd转换:

printf "version is v%vd\n", $^V;  # Perl's version

例如,可以使用以下语法:

## get Perl version demo ##
perl -e 'print "Perl version : $^V\n"'
perl -e 'print "Perl version : $PERL_VERSION\n"'

检查Perl版本并执行某些操作

# See if we got v5.10.1 would be "5.010001"
if ($] >= 5.010001)
{
    ## Do something as we got perl version 5.10.1 
}
else 
{
     ## warn and die 
}