我有一些旧的生产计算机,它有Perl 5.0(更新版本1998)。 我使用Activestate Perl 5.24.1在我的办公室计算机上开发了一个脚本
当我尝试在旧版本(在Windows XP上安装)上运行时,它会丢弃几个警告,等等无法了解USE Warnings;
或three parameter open
函数。
我们的关键字不能与use strict;
our %Config = (
'SourcePath' => "",
'TargetPath' => "",
'Station' => "",
'Product' => "",
'LogLevel' => 0
);
当我尝试打印带有哈希变量的字符串时,它也会发出警告。 代码是:
print $fhw qq/ <FACTORY NAME="FLEX_ZALA" TESTER="$Config{'Station'}" FIXTURE="" USER="" LINE="" SHIFT="" \/>\n/;
不知道Station变量。
我无法在生产机器上开发,但也无法在我的办公室计算机上安装这个旧版本。
如何强制在兼容模式5.0中使用perl 5.24.1运行我的脚本?
我使用Windows 7 X64 PC办公。
感谢。
UPD1: XP Perl版本是:
Microsoft Windows XP [版本5.1.2600](C)版权所有1985-2001 微软公司
C:\ Documents and Settings \ grprog1&gt; perl -v
这是perl,版本5.003_07
版权所有1987-1996,Larry Wall
+ suidperl security patch Win32 port Copyright (c) 1995-1996 Microsoft Corporation. All rights reserved. Developed by ActiveWare Internet Corp., http://www.ActiveWare.com
Perl for Win32 Build 316 - 1998年3月13日09:44:44
Perl只能根据艺术许可的条款进行复制 或GNU通用公共许可证,可以在Perl 5.0中找到 源工具包。
UPD2:
C:\Documents and Settings\grprog1>perl -V Summary of my perl5 (patchlevel 1) configuration: Platform:
osname=MSWin32, osver=3.51, archname=i386-win32
uname=''
hint=recommended Compiler:
cc='cl', optimize=''
cppflags=''
ccflags =''
ldflags =''
stdchar='char', d_stdstdio=, usevfork=false
voidflags=15, castflags=0, d_casti32=, d_castneg=
intsize=4, alignbytes=4, usemymalloc=n, randbits=15 Libraries:
so=dll
libpth=
libs=
libc= Dynamic Linking:
dlsrc=dl_win32.xs, dlext=pll, d_dlsymun=
cccdlflags='', ccdlflags='', lddlflags=''
Characteristics of this binary (from libperl): Built under MSWin32 Compiled at Mar 13 1998 09:44:44 @INC:
C:\Teradyne\GRNavigate\228x\lib\perl
..\lib\i386-win32
..\lib
.
答案 0 :(得分:2)
如果我理解正确,您的计算机A有perl
5.003_7
。因此,将该分发从计算机A复制到要进行开发的计算机B是最直接的答案。
你说测试人员也有这个版本的Perl。因此,贵公司必须从ActiveState购买站点许可证或某些特定数量的许可证。你应该先调查一下。
如果您遇到困难,请与ActiveState联系以获取支持。他们可能会收取一个费用。
然而,您的公司面临的问题是,操作依赖于古老的,不再支持的软件来运行可能存在问题的程序。进入这个世纪是一个好主意。
答案 1 :(得分:0)
如果你绝对必须,无法绕过它,运行古老的perl,你的脚本就不能使用更现代的东西了。
在开发/测试框中查看perlbrew有多个perl版本,这样您就可以使用一个命令在多个perl版本上测试代码。
也许http://perldoc.perl.org/perl.html可以查看旧版perls的文档。 它可以追溯到5.8.8(〜2005),但比在你的情况下使用5.24的文档更好。