【发布时间】:2017-12-14 09:18:21
【问题描述】:
我有一些装有 Perl 5.0(更新版本 1998)的旧生产计算机。 我使用 Activestate Perl 5.24.1 在我的办公室计算机上开发了一个脚本
当我尝试在旧版本(安装在 Windows XP 上)上运行时,它会丢弃几个警告,等等无法了解 USE Warnings; 或 three parameter open 功能。
our关键字不能与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>perl -v
这是 perl,版本 5.003_07
版权所有 1987-1996,拉里·沃尔
+ suidperl security patch Win32 port Copyright (c) 1995-1996 Microsoft Corporation. All rights reserved. Developed by ActiveWare Internet Corp., http://www.ActiveWare.comPerl 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
.
【问题讨论】:
-
您需要找到一个较旧的二进制文件。你不能告诉 Perl 模拟一个旧版本。请在旧机器上运行
perl -V并准确告诉我们您那里有什么版本。那也是一个 ActivePerl,还是你手动编译的? ActivePerl 和 Strawberry 都只列出 Perls 低至 5.8 以供下载(尽管对于 ActivePerl,您需要有商业许可证才能获得旧版本)。 -
1998 年 Perl 5.4 是最新的。您必须回到 1994 年才能发布 v5.0。你真的需要运行一个 23 岁的图像吗?
-
谢谢。我要求
perl -V大写V,但它显示了更多信息。但这已经是有用的信息了。 -
添加了 perl 版本以进行评论。是的,我需要使用这个版本,因为几乎有 15 位测试仪有这个版本,而且它是一个 ICT 测试仪部分。如果我更新 perl 版本,我不知道会发生什么。
-
cpan.org/ports/win32/Standard/x86 有一些旧版本。不过我看不到 5.003。但是有一些 5.004 和更新的东西。也许值得尝试一下。我还找到了lib.ru/PERL/Perl_for_Win32_FAQ_1.txt_with-big-pictures.html,它列出了一些东西,包括如何构建自己的。在这种情况下,您只需要源代码和构建工具。
标签: perl