The OpenNET Project / Index page

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

Манипулирование файловыми хэндлерами в Perl
Пример хранение дескрипторов в хэше:
   my %user_fd = ();
   if (! defined $user_fd{$cur_login}){ 
      open($user_fd{$cur_login}, ">$cur_file") or return -1;
   }
   print {$user_fd{$cur_login}} "TEST\n";
   close($user_fd{$cur_login});

Пример передачи дескриптора из функции:

   # Для perl 5.6 и старше
   open (my $fh, $file_name);
   print $fh "Hello World!\n";
   process_file( $fh );

   open (FILE, "> $filename)";
   process_typeglob( *FILE );
   process_reference( \*FILE );

   sub process_typeglob { local *FH = shift; print FH "Typeglob!" }
   sub process_reference { local $fh = shift; print $fh "Reference!" }


    my $fh = myopen("file_path");
    while (<$fh>) {
    ....
    }
    close $fh;

   sub myopen {
      my $path = shift;
      local *FH; 
      open (FH, $path) || return undef;
      return *FH;
   }
 
04.05.2005 , Источник: http://perldoc.perl.org/perlfaq5.ht...
Ключи: perl, file / Лицензия: CC-BY
Раздел:    Корень / Программисту и web-разработчику / Perl / Работа с файлами

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




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

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