Ответы пользователя по тегу Perl
  • Как использовать константу в качестве ключа хеша в perl?

    @Ptktysq
    my %opts = (
        CURLOPT_URL() => 'http://wikipedia.org',
        CURLOPT_CONNECTTIMEOUT() => 30
    );


    И аналогично при использовании константы как ключа хеша:

    $hash{MY_CONSTANT()} = 123;

    В остальных случаях скобки не обязательны.
    Ответ написан
    Комментировать
  • Protected и private методы Perl?

    @Ptktysq
    ООП Perl не имеет ничего общего с ООП C++-подобных языков.
    Если очень хочется, то можно использовать анонимную функцию как приватный метод и передавать в него $self первым параметром:

    package MyClass;
    
    my $private_method = sub {
        my $self = shift;
        # ...
      };
    
    sub public_method {
      my $self = shift;
    
      $private_method->($self);
    }


    Кстати, такой вызов быстрее, чем $object->name.
    Ответ написан
    Комментировать