![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Перл замечательный язык, когда на нем пишу Я. Когда на нем пишут другие -- это кошмар. И подозреваю, что это взаимно.
use strict;
...
no strict 'refs';
...
$self->{LABELS}->{$title} = $3;
$self->{LABELS}->{$title}->{NUM} = $num++;
Это работатет. Но я не понимаю, ради чего надо так извращаться. Это не тот Перл, на котором пишу я. На моем Перле ref $self->{LABELS}->{$title} будет либо SCALAR, либо HASH, но никак не то и другое одновременно. А вот на Перле этого человека в $self->{LABELS}->{$title} хранятся сразу два значения и ему это удобно. Но это другой язык.
use strict;
...
no strict 'refs';
...
$self->{LABELS}->{$title} = $3;
$self->{LABELS}->{$title}->{NUM} = $num++;
Это работатет. Но я не понимаю, ради чего надо так извращаться. Это не тот Перл, на котором пишу я. На моем Перле ref $self->{LABELS}->{$title} будет либо SCALAR, либо HASH, но никак не то и другое одновременно. А вот на Перле этого человека в $self->{LABELS}->{$title} хранятся сразу два значения и ему это удобно. Но это другой язык.
no subject
Date: 2005-03-14 02:37 pm (UTC)Вообще, плохо понимаю, зачем такое может понадобится и почему тогда это не реализовать через AUTOLOAD в виде модуля Class::DynamicInheritance какого-нибудь, от которого наследоватьв се такие классы...
no subject
Date: 2005-03-14 02:40 pm (UTC)Ну, в общем, вот о чём я говорю:
no subject
Date: 2005-03-14 02:46 pm (UTC)no subject
Date: 2005-03-14 02:48 pm (UTC)А нестриктные референсы я всё-таки убрал, оказывается :) Блин, вот что значит три месяца в код не заглядывать.
no subject
Date: 2005-03-14 02:54 pm (UTC)Хотя, производительность так должна страдать...
no subject
Date: 2005-03-14 02:55 pm (UTC)no subject
Date: 2005-03-14 02:59 pm (UTC)no subject
Date: 2005-03-14 03:00 pm (UTC)и можно без хлебаа ещё я где-то слышал, что после эвала можно просто хранить ссылки на code references, только не знаю пока ещё, как :)no subject
Date: 2005-03-14 03:09 pm (UTC)var code = new Function( "some code; goes; here;" );
А про Perl -- Я как раз только что думал, как бы получить CodeV из eval'а... Вот так, сходу, способа не вижу... Т.е. вижу, но кривой до невозможности:
no subject
Date: 2005-03-14 03:14 pm (UTC)no subject
Date: 2005-03-14 03:19 pm (UTC)no subject
Date: 2005-03-14 03:25 pm (UTC)my $codeRef = eval "sub { $codeStr } ";
ВСЕ! Работает!
no subject
Date: 2005-03-14 03:27 pm (UTC)no subject
Date: 2005-03-15 08:28 am (UTC)no subject
Date: 2005-03-15 11:27 am (UTC)