The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"как наследовать конструктор perl"
Отправлено bibi, 11-Янв-09 01:04 
>На русский переведены два хороших учебника по перлу, так называемые lama book(http://en.wikipedia.org/wiki/Learning_Perl)
>и alpaca book(http://en.wikipedia.org/wiki/Intermediate_Perl). Во второй как раз хорошо описаны ссылки и
>объекты. Обе книги несложно найти в сети, так что от прямых
>ссылок воздержусь.
>
>С конструкторами и наследованием разобрались?

первый
package func;

use strict;
use CGI::Carp qw(fatalsToBrowser);
use DBI;
#use HTML::Template;
#use POSIX qw(ceil floor);

sub new {

    my ( $self, %common ) = @_;
    $self = {
        se      => undef,
        session => undef,
        he      => undef,
        p       => undef,
        query   => undef
    };

    $self->{'se'}      = $common{'se'}      if $common{'se'};
    $self->{'session'} = $common{'session'} if $common{'session'};
    $self->{'he'}      = $common{'he'}      if $common{'he'};
    $self->{p}       = $common{p}       if $common{p};
    $self->{query}   = $common{query}   if $common{query};

    # $self->{'passwd'} = $common{'passwd'} if $common{'passwd'};

    if ( $common{passwd} ) {
        $self = &md5crypt( $self, $common{'passwd'} );
    }
    bless $self;
    return $self;
}


второй который пытаюсь сделать, он не хочет работать


package listadmin;

use strict;
use CGI::Carp qw(fatalsToBrowser);
use Data::Validate::Domain qw(is_domain);

use base 'func';

sub new {

#  print "Child::new @_\n";
  # my $self = shift;
#  my ($data_p, $data_c)=@_;
#    my $self = shift;
    my ( %common ) = @_[1];
    
my   $self->SUPER::new(@_[0]);
#  $self->{child_data}=$data_c;
  #return $self;


=sdf
    my ( $self, %common ) = @_;
    $self = {
        se      => undef,
        session => undef,
        he      => undef,
        p       => undef,
        query   => undef
    };

    $self->{se}      = $common{se}      if $common{se};
    $self->{session} = $common{session} if $common{session};
    $self->{he}      = $common{he}      if $common{he};
    $self->{p}       = $common{p}       if $common{p};
    $self->{query}   = $common{query}   if $common{query};
    bless $self;
    $self->dbi_connect if $self->can("dbi_connect");
    return $self;
=cut
}

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру