HI~您好,欢迎您访问"北京金科合创软件官方网站",购买正版软件、海外正版软件商城就选金科软件(Goldk Software) 咨询热线:15210221926  金科软件-国内外正版软件服务商
您的位置: 首页>技术支持> SecureCRT

我可以用 Perl 编写 SecureCRT 脚本吗?

发布时间:2021-11-08 16:11:19点击量:

是的。如果您已经安装了 PerlScript 引擎,那么您可以运行用 Perl 编写的 SecureCRT 脚本。
使用 Perlscript 时,您应该注意以下几个问题,这将使调试脚本更容易:
默认情况下,除非您启用有关这些错误的警告,否则不会报告 Perlscript 中的运行时错误。如果您想收到错误通知,请确保在脚本中包含这些行:
# Perl 默认不警告错误。启用错误。
使用 Win32::OLE;
Win32::OLE->Option(Warn => 3);

您可能会在 Perlscript 中发现的另一个问题是,在 SecureCRT 调用的“主”例程中发生的运行时错误不会以信息丰富的方式报告回 SecureCRT。这被认为是 Perlscript 的最新实现(构建 518)中存在的错误。下面的简单脚本演示了这个问题:
# $language = "PerlScript"
# $interface = "1.0"
# Perl 默认不警告错误。启用错误。
使用 Win32::OLE;
Win32::OLE->Option(Warn => 3);
# 显示版本
$crt->Dialog->MessageBox($crt->{'Version'});
# 1. 产生错误:invalid property $crt->Dialog->MessageBox($crt->{'XYZZY'});
子主{
# 显示版本
$crt->Dialog->MessageBox($crt->{'Version'});
# 2. 产生错误:invalid property
$crt->Dialog->MessageBox($crt->{'XYZZY'});
}

当此脚本尝试在全局级别和“主”例程中获取无效属性时,它会收到运行时错误。第一个运行时错误应该显示一些详细的信息,指示问题的行和性质,但是第二个运行时错误将简单地报告为“main failed...”,没有说明原因。如果存在,SecureCRT 将调用您的主子程序,但您不需要有一个。为了解决这个问题,您可能希望在主子例程之外开发您的 Perlscript 代码。

上一篇:我的 SecureCRT 许可证密钥是否适用于 macOS 和 Linux 版本?

下一篇:SecureCRT 如何连接到仅支持 Diffie-Hellman 密钥交换的服务器?

微信公众号

  • 回到顶部
  • 15210221926
  • Goldk-AGE
  • 微信公众号