|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 12 Aug 2002 12:21:53 To : Victor Mironov Subject : Re: Re^2: Re^2: Re^2: my $var -------------------------------------------------------------------------------- Здравствуй, Victor Mironov. VM>>> Hо иногда приходится передавать большую кучу данных. Если можно с VM>>> тем же успехом брать их снаружи, зачем усложнять? AC>> Я в таких случаях передаю объект. Hа худой конец просто ссылку на хэш. AC>> Ибо использование глобальных переменных при скрипте длиннее пяти AC>> экранов обычно усложняет задачу. VM> Звучит солидно. А можно простой пример передачи объекта? С хешем понятно. Hичем не отличается. func($object). Так, к примеру, в задаче вебовского движка есть объект "запрос". Который внутри себя таскает открытый хендл к базе данных (и отдает его методом dbh), объект CGI (и отдает его методом cgi), текущее состояние аутентификации (метод auth), умеет выставлять куки (метод set_cookie) и т.д. и т.п. Работа с ним внутри функции ведется соответственно: sub func { my $req = shift; my $email = $req->dbh->selectrow_array("select email from users where id=?", undef, $req->auth->{'userid'}); ... } К примеру. -- Artem Chuprina Communiware.net RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/358.49, ICQ: 13038757 --- ifmail v.2.15dev5 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/144546d9ebd20.html, оценка из 5, голосов 10
|