Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Вопросы   Vadim Tzirulnicov   05 Aug 2003 18:29:34 
 Re: Вопросы   Konstantin Tokar   07 Aug 2003 00:10:02 
 Вопросы   Vadim Tzirulnicov   08 Aug 2003 21:54:04 
Архивное /ru.perl/280586f96d49.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional