|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Konstantin Tokar 2:5020/400 07 Aug 2003 00:10:02 To : Vadim Tzirulnicov Subject : Re: Вопросы -------------------------------------------------------------------------------- > 1) RegExp. > > $index='2f'; > if ($index=~/[0-9]/){ > print "OK"; > } > > Как сделать, чтобы все символы удовлетворяли условию диапазона ? if ($index=~/[\d\w]/){ print "OK"; } > > 2) Как возвести число в степень. > > P.S. Просьба не писать "perldoc xxx", а кинуть примерчик с описанием. > Хотя-бы в двух словах. Hе знаю. Кроме ** только Math::BigFloat приходит в голову. > > 3) И всё же, киньте пример реализации класса, ОК ? > > Hижеследующее не катит: > > sub new { > my $class = shift; > unshift(@_, "PeerAddr") if @_ == 1; > return $class->SUPER::new(@_); > } > Это вообще чёрт знает что. Хакер какой-то расстарался. package myclass; use strict; sub new63456345634563456 { my $class = shift; my $self = {}; bless $self, $class; } sub print { my $self = shift; print "Класс $self"; } 1; package main; my $x = new63456345634563456 myclass; $x->print; Классов в перле нет :( > 4) Мне нужно отслеживать пакетом аварийное завершение обработки главного > скрипта (недопустить 500-ой ошибки). > > Почему нижеследующее не фурычит: > > package blin; > use Exporter(); > @ISA=qw(Exporter); > @EXPORT=qw(new); > #@EXPORT_OK=qw(); > $main::SIG{__DIE__}=blin->myEvent; > sub myEvent{ > print 'OK'; > } > > ? Hадеть пакет на скрипт. Вышеследующее бессмысленно. Отслеживать можно с помощью eval > > 5) RegExp. > > В ячейках массива @values хранятся значения диапазона [0-9a-f]. > > Hужно всех их проверить на совпадение с $lastEID регулярным выражением. > > Пробую: > > for ($a=0;$a<scalar(@values);$a++){ > $wr.='['.$values[$a].']|'; > } > $wr=substr($wr,0,rindex($wr,'|')); > > if (eval("return (\$lastEID!~/$wr/?1:0)")){ > ... > } > > - не фурычит... map {print 'OK' if /$lastEID/o } @values; Я точно помочь не смогу, у меня стиль программирования другой. --- ifmail v.2.15dev5 * Origin: MTU-Intel ISP (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/280586f96d49.html, оценка из 5, голосов 10
|