Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Хэши.... 
:(
    Опции темы
djkostya
Дата 31.5.2006, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 16.5.2006
Где: Москва

Репутация: нет
Всего: 2



Код

#!/usr/bin/perl 
package modules::SMTP; 
our $VERSION = 1.00; 
use strict; 
use Mail::Sender; 


sub new { 
  my $proto = shift; 
  my $class = ref($proto) || $proto; 
  my $self  = {}; 
  $self->{TEMPLATE} = undef; 
  $self->{EMAIL} = undef; 
  bless($self, $class); 
  return $self; 



sub template { #Шаблон для отправки письма 
    my $self = shift; 
    if (@_) { $self->{TEMPLATE} = shift } 
    return $self->{TEMPLATE}; 


sub email { #Куда отправляем письмо 
    my $self = shift; 
    if (@_) { $self->{EMAIL} = shift } 
    return $self->{EMAIL}; 



1;



Простой модуль....
Так вот у меня проблема как из скрипта передать в модуль

modules::SMTP->send('mail.tmpl', '[email protected]' {res1=>"456", res2=>"7865", res_ok=>"ffff"} )


Ну то есть хэш структуру...
Ребята не поможете....

Добавлено @ 15:15 
П.С то есть мне надо как-то в метод send запихать данные хэша 
PM MAIL WWW ICQ   Вверх
korob2001
Дата 1.6.2006, 02:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 31
Всего: 61



Ну так а в чём проблема? Ты же сам привёл пример того, как подпрограмме передать анонимный хеш. После в теле подпрограммы разыменуй его и работай как с обычным хешем, либо работай со ссылкой на хеш с использованием оператора "стрелка" ->.
Вот простой пример:
Код
#!/usr/bin/perl -w
use strict;

sub send_mail {
    my($host,$mail,$data) = @_;
    print "Host: $host\n";
    print "Mail: $mail\n\n";
    print "Anonim hash:\n";
    foreach (keys %{$data}) {
             print "\t$_ => " . $data->{$_} . "\n";
    }
}

send_mail('smtp.telenet.be','[email protected]', {res1=>"456", res2=>"7865", res_ok=>"ffff"});

Здесь подпрограмма принимает 3 параметра, где:
1. строка (smtp сервер).
2. строка (E-mail)
3. Анонимный хеш, с какими-то параметрами.
В теле подпрограммы, выводитятся все аргументы вместе с анонимным хешем. Можешь так же в основном коде создать обычный хеш и передавать ссылку на него, что по сути одно и то же.

ЗЫ: Если я чего-то недопонял, поясни задачу подробнее.  

Это сообщение отредактировал(а) korob2001 - 1.6.2006, 02:30


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0697 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.