Size: a a a

2021 August 24

sA

saintserge Andreev in Modern::Perl
Привет! Подскажите в чем смысле обьявлять так функцию?

sub __default_postpone { die 'NO EVENT' }
*_postpone = \&__default_postpone;
что бы она была доступна глобально из везде?
источник

VF

Valeriy Filatov in Modern::Perl
синоним?
источник

AP

Anton Petrusevich in Modern::Perl
я так инициализацию делал. пока пакет не проинициализирован, то функция указывается одна, а когда она выполнится первый раз, то в конце менялась на "нормальную"
источник

AP

Anton Petrusevich in Modern::Perl
вообще, в перле таблица символов — мощная штука. главное ногу не прострелить
источник

sA

saintserge Andreev in Modern::Perl
А в чем разница если скажем глобальной переменной присвоить ссылку на функцию а потом поменять?
источник

sA

saintserge Andreev in Modern::Perl
Что бы она не была доступна из других пакетов?
источник

VF

Valeriy Filatov in Modern::Perl
Это создание/переименование "одноименной" функции

#!/usr/bin/env perl

sub mySub {
   print "mySub\n";
}

sub anotherSub {
   print "anotherSub\n";
}

mySub();
anotherSub();
*anotherSub = \&mySub;
anotherSub();
источник

VF

Valeriy Filatov in Modern::Perl
mySub
anotherSub
mySub
источник

sA

saintserge Andreev in Modern::Perl
Спасибо. Но цель такого действия мне пока не совсем понятен.
источник

SZ

Sergey Zhmylove in Modern::Perl
Она будет
источник

VF

Valeriy Filatov in Modern::Perl
например Я хочу подменить функцию в каком либо пакете.
my $orig_log_print     = \&Net::Telnet::_log_print;
*Net::Telnet::_log_print = sub {
   my ($fh, $buf) = @_;

   $buf =~ s/([\r\n\f]+)/POSIX::strftime("$1%H:%M:%S : ", gmtime())/eg
       if defined $buf
   ;
   $orig_log_print->($fh, $buf);
};
источник

SZ

Sergey Zhmylove in Modern::Perl
Это можно и без этого сделать
источник

VF

Valeriy Filatov in Modern::Perl
конечно можно, это один из путей.
источник

sA

saintserge Andreev in Modern::Perl
Ага, теперь понял. Мне было именно не понятно почему сделали так. Как именно оно работает было понятно.
источник

W

Warstone in Modern::Perl
А где такая дичь встречается?..
источник

W

Warstone in Modern::Perl
Потому что можно без этих танцев, через с3 не сбрасывая вообще все кеши
источник
2021 August 25

a

allter in Modern::Perl
Ну, это довольно популярный паттерн в перле. Этакая легковесная Стратегия. Соответственно, можно вместо этого этот ООП-паттерн использовать.
источник

sA

saintserge Andreev in Modern::Perl
источник

c

crux in Modern::Perl
Риторически-полутеоретический вопрос. У одного столетнего сервиса на каталисте есть желание переехать с апач/модперл на PSGI, но сохранить потребление памяти плюс-минус на том же уровне.

Может есть какой-то вариант с переездом на уровне "вот, запускайте вот так", без плясок с бубном?

Типа starman с -M<все на свете модули>.

—preload-app у стармана, который, казалось бы, мог заменить миллиард -М делает

bad things when resources like sockets or database connections are opened at load time by the master process and shared by multiple children.
источник

AK

Andrey Karepin in Modern::Perl
Переслано от Sergey Zhmylove
Центровой в этом чате
Анонимный опрос
11%
Вообще не банить Клименко
5%
Забанить и забыть
24%
Ничего не менять, пусть будет как есть
60%
Кто это? (Я посмотреть результаты)
Проголосовало: 63
источник