Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Alexey Sveshnikov                    2:5030/1900.44 16 Mar 2004  00:05:38
 To : All
 Subject : вызов модуля из другого процесса
 -------------------------------------------------------------------------------- 
 
 
 написал модуль, отладил на тестовой прогамме, работает все ок.
 начал прикручивать к той, для которой он предназначался - должен использоваться 
 одной из нитей программы (делаеся fork несколько раз).
 не работает.
 
 перл знаю не очень хорошо, модуль вот:
 
 (первый написанный мною модуль, если честно :)
 
 === Begin file ===
 #
 # пакет функций для работы с лог-файлом.
 
 package logger;
 use diagnostics;
 use strict;
 BEGIN {
     print "logger loaded\n";}
 use Exporter ();
 use vars qw ($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
 my $logfilename = "";
 $VERSION = do { my @r = (q$Revision: 1.00 $ =~ /\d+/g); sprintf ("%d."."%02d" x 
 $#r, @r) };
 #    $ISA    = qw (Exporter);
 @EXPORT  = qw (&writelog &init );
 %EXPORT_TAGS = qw ( );
 @EXPORT_OK   = qw (&writelog &init );
 return 1;
 
 use vars @EXPORT_OK;
 my $head;
 my $DEBUG = 1;
 sub init
     {
     print "logger::init call\n" if $DEBUG;
     if (!open(LOG, ">>"."$_[0]"))
     {
     print STDERR "can't open logfile: $!\n";
     exit (1)
     };
     $head = $_[1];
     };
 
 sub writelog {
     print "writelog call\n" if $DEBUG;
     typeswitch:
         {
         $_[0] =~ /^nohead/ && do
             {
             print LOG $_[1];
             last typeswitch;
             };
         $_[0] =~ /^noln/   && do
             {
             print LOG " tinati.pl[$$] ", " [".&gettime."] ", $_[1];
             last typeswitch;
             };
         print LOG "$head"."[$$] [".&gettime."] $_[0]\n";
         };
     return 1;
     };
 
 sub gettime {
     `date +%Y-%m-%d::%k:%M:%S` =~ /(....................)/;
     return $1;
     }
 
 ===  End file  ===
 
 тестовая программа вот:
 
 === Begin file ===
 #!/usr/bin/perl -w
 use logger;
 use diagnostics;
 logger::init("newlog", "testlog");
 logger::writelog("test message");
 ===  End file  ===
 Be liao, Alexey         *[@wired]*
 ... *ore wo koroshite kudasai.. .*
 --- GoldED+/LNX 1.1.5 on linux 2.4.20-8smp
  * Origin: << Hапомните мне его сделать.. . >> (2:5030/1900.44)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 вызов модуля из другого процесса   Alexey Sveshnikov   16 Mar 2004 00:05:38 
 Re: вызов модуля из другого процесса   Konstantin Tokar   17 Mar 2004 00:16:23 
 вызов модуля из другого процесса   Alexey Sveshnikov   17 Mar 2004 00:30:28 
 Re: вызов модуля из другого процесса   Konstantin Tokar   18 Mar 2004 14:41:51 
 вызов модуля из другого процесса   Alexey Sveshnikov   19 Mar 2004 16:22:08 
 Re: вызов модуля из другого процесса   Konstantin Tokar   19 Mar 2004 22:06:15 
 вызов модуля из другого процесса   Alexey Sveshnikov   20 Mar 2004 21:03:50 
 Re: вызов модуля из другого процесса   Konstantin Tokar   22 Mar 2004 23:39:42 
 вызов модуля из другого процесса   Alexey Sveshnikov   23 Mar 2004 00:20:28 
 Re: вызов модуля из другого процесса   Alexey Mahotkin   22 Mar 2004 23:55:51 
 вызов модуля из другого процесса   Alexey Sveshnikov   23 Mar 2004 00:32:56 
 Re: вызов модуля из другого процесса   Konstantin Tokar   23 Mar 2004 03:43:22 
 вызов модуля из другого процесса   Alexey Sveshnikov   23 Mar 2004 17:53:36 
Архивное /ru.perl/455140560ded.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional