|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Alan Long 2:5030/1082.72 11 Jun 2002 16:18:57 To : All Subject : вопрос про eval и tr -------------------------------------------------------------------------------- Hello All! Есть некий кусок кода который хотелось-бы отоптимизировать: - -- ... sub _setconvert { my $self = shift; my $from = $self->_get_convert_from(); my $to = $self->_get_convert_to(); if( defined $from and defined $to and $from ne $to ) { $self->{CONVERT} = sub { local $_ = shift; eval "tr/$from/$to/"; $_; }; } } sub convert { my $self = shift; my ( $rc ); if( defined $self->{CONVERT} ) { $rc = $self->{CONVERT}->( shift ); } return $rc; } - -- Я решил эту проблему примерно так: - -- sub _setconvert { my $self = shift; my $from = $self->_get_convert_from(); my $to = $self->_get_convert_to(); if( defined $from and defined $to ) { $self->{CONVERT} = eval "sub { tr/$from/$to/; $_; }"; } } sub convert { my $self = shift; local $_ = shift; my ( $rc ); if( defined $self->{CONVERT} and defined $_ ) { $self->{CONVERT}->(); } return $_; } - -- Hо как мне кажется это не слишком прямое решение, может-быть как-то еще возможно ? -- With best, Ъ-· Ъ Е-ЧLaі\і <alan@x-rays.eu.org> --- timEd/386 1.10+ * Origin: X - Rays Station (2:5030/1082.72) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/4581d05eec80.html, оценка из 5, голосов 10
|