【问题标题】:difference between perl versionperl 版本的区别
【发布时间】:2011-09-10 18:24:16
【问题描述】:

在 perl 5.8.8 中,我使用下一个构造:

包通用; 开始 { 要求出口商; 使用 vars qw(@EXPORT); @EXPORT=qw( 测试 ) } 子测试{ 我的 ( $self ) = 班次 } 1个; 打包我的; 使用通用; 子测试1 { 打印 $self -> test(); } 1个;

它有效。但是在 perl 5.10.0 中它不起作用。为什么?

【问题讨论】:

  • -1 “不起作用”是一个无效问题。至少(逐字)指定出现的错误消息。
  • 在问这样的问题时,如果你告诉我们 a) 你想做什么和 b) 你看到了什么意外行为,这真的很有帮助。只是说某事“不起作用”根本没有用。
  • 建议加上“use strict;”和“使用警告;”到所有代码。没有它们,Perl 通常看起来一切都很好,但实际上却并非如此

标签: perl


【解决方案1】:

首先,USUW (use strict; use warnings;)。

当你这样做时,你会看到$self 没有定义在package My;My::test1 的范围内(应该是什么)。同样Package 显然被视为没有严格“subs”的bareword,这与带有小写“p”的package 的含义不同。

我怀疑这在 5.8 中是否有效。但我不再需要检查任何低于 5.12 的环境。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-01
    • 2019-10-09
    • 1970-01-01
    • 2014-05-13
    相关资源
    最近更新 更多