разница между версией Perl - PullRequest
0 голосов
/ 08 июня 2011

В Perl 5.8.8 я использую следующую конструкцию:

Package Common;

BEGIN
{
    require Exporter;
    use vars qw( @EXPORT );
    @EXPORT=qw( test )
}

sub test {
   my ( $self ) = shift
}

1;

Package My;
use Common;
sub test1 {
  print $self -> test();
}

1;

Это работает. Но в Perl 5.10.0 это не работает. Почему?

1 Ответ

2 голосов
/ 08 июня 2011

Прежде всего, USUW (use strict; use warnings;).

И когда вы это сделаете, вы увидите, что $self не определено в области (что должно быть) package My; или My::test1. Также Package, очевидно, рассматривается как голое слово без строгих «подпрограмм», что не означает то же самое, что и package со строчной буквой «p».

Я сомневаюсь, что это работает в 5.8. Но мне больше не нужно проверять какие-либо среды ниже 5.12.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...