|
|
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
|