我的 perl 脚本必须在 Windows 和 Linux 服务器上运行。当脚本运行时,我必须为特定的东西更新注册表。当我使用“使用 Win32::Registry”时,它在 Windows 上运行良好,但在 Linux 上,无论以下 if 语句如何,它都会出错。
if ($OS =~ /Windows/ )
{
use Win32::Registry;
...
...
}
在我看来,perl 在编译时加载“使用”,这一定是问题所在。我该怎么做才能让 Perl 在 Linux 上运行时不加载 use win 32 命令?
我尝试使用
if ($OS =~ /Windows/ )
{
require Win32::Registry;
...
...
}
这样,脚本在两台服务器上都可以正常运行,但它将二进制值保存在注册表中,而不是字符串值。
那么如何让 Perl 脚本在两台服务器上运行并将字符串值保存在注册表中呢?
谢谢你。