The OpenNET Project / Index page

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

Замена стандартных функций Perl самописными (perl script export)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: perl, script, export,  (найти похожие документы)
Date: Fri, 31 Aug 2001 03:08:10 +0400 From: Pavel Ammosov <Pavel.Ammosov@f52.n5020.z2.fidonet.org> Newsgroups: fido7.ru.perl Subject: Замена стандартных функций Perl самописными AU>А есть ли возможность написать свою функцию open, котоpая могла бы AU>быть использована как pодная? Более-менее. - --- My.pm --- package My; require Exporter; @My::ISA = qw(Exporter); @My::EXPORT_OK = qw(&open); sub open(*;$) { no strict 'refs'; local *FILE = $_[0]; local $::file; if (defined($_[1])) { $::file = $_[1]; } else { *FILE = *{$_[0]}{IO}; } print STDERR "opening $::file\n"; CORE::open(FILE, $::file) || die "cannot open '$::file': $!\n"; } 1; - --- My.pm --- и программа к нему: #!/usr/bin/perl -w use strict; use My qw(open); open(IN, "xxx"); while(<IN>) { print; } close IN; Осталось только сделать так, чтоб оно работало... [...] AU>Получаю pугань о том что IN используется только единожды. Ругань, AU>естественно, исчезает пpи использовании AU> mopen(*IN{IO}, "ttt"); AU>Hо хочется, чтобы функция была в указанном смысле pодному open. AU>Возможно ли это осуществить? Угу. close IN написать и IN будет использован более одного раза. -- Pavel Ammosov O \ apavel@aha.ru __ ) http://isabase.philol.msu.ru/~apavel/ ) wget -O - isabase.philol.msu.ru/~apavel/key.asc|pgp -fka O /

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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