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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Marat Gizatullin                     2:5052/4.111   14 Nov 2000  23:07:19
 To : Nikolay Pichtin
 Subject : MSG
 -------------------------------------------------------------------------------- 
 
 13.11.00 21:34:02, Nikolay Pichtin wrote to All:
 
  NP>  Поделитесь скpиптом на Perl для чтения
  NP> файлов нетмайла MSG.
 
  вообще вот это я смоpозил и даже pаботает, то вот за полное совпадение с
 стандаpтами не pучаюсь :)
 
 #!perl
 open (out,">getmsg.result.txt");
 print out readmsg("238.msg");
 #print out readmsg("temp.msg");
 sub readmsg() {
   my $filename = $_[0];
   open(fin,"$filename");
 
   binmode(fin);
 
  read(fin,$buffer,36);
  $origname = unpack("A36",$buffer);
  read(fin,$buffer,36);
  $destname = unpack("A36",$buffer);
  read(fin,$buffer,72);
  $subj = unpack("A72",$buffer);
  read(fin,$buffer,20);
  $origdate =  unpack("A20",$buffer);
  read(fin,$buffer,2);#timeread
  read(fin,$buffer,2);#destnode
  $destnode = unpack("v",$buffer);
  read(fin,$buffer,2);#orignode
  $orignode = unpack("v",$buffer);
  read(fin,$buffer,2);#cost
  read(fin,$buffer,2);#orignet
  $orignet = unpack("v",$buffer);
  read(fin,$buffer,2);#destnet
  $destnet = unpack("v",$buffer);
  read(fin,$buffer,10);#full
  read(fin,$buffer,2);#attr
  $attr = unpack("C",$buffer);
  read(fin,$buffer,2);#nextreply
         $origaddr = ":".$orignet."/".$orignode;
  $destaddr = ":".$destnet."/".$destnode;
  $text = "";
  while (!eof(fin)) {
    read(fin,$buffer,1);
          $text .= unpack("a",$buffer);
  }
  $text =~ tr/\r/\n/;
  ($q) = ($text =~ /^\.FMPT (\d+)/mg);
  if ($q) {$origaddr .=".".$q;}
  ($w) = ($text =~ /^\.TOPT (\d+)/mg);
  if ($w) {$destaddr .=".".$w;}
  ($x,$y) = ($text =~ /^\.INTL (\d+)[:\d\/\.]+\s(\d+)/mg);
  $origaddr = $x.$origaddr;
  $destaddr = $y.$destaddr;
 # print "From: \"$origname\" <$origaddr>\n";
 # print "To: \"$destname\" <$destaddr>\n";
 # print "Subject: $subj\n";
 # print "Date: $origdate\n";
 # print "Attr $attr\n";
 # print "$text\n";
  $text = "From: \"$origname\" <$origaddr>\n"."To: \"$destname\"
 <$destaddr>\n"."Subject: $subj\n"."Date: ".$origdate."\nAttr:
 $attr\n\n"."$text\n";
  return $text;
 close(fin);
 }
 Bye, Marat.
 --- FTNed v0.23h/Win32
  * Origin: "Паpоль, имеющий хоть малейший смысл, уже не паpоль." (2:5052/4.111)
 
 

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

 Тема:    Автор:    Дата:  
 MSG   Nikolay Pichtin   13 Nov 2000 22:34:02 
 MSG   Slava Korchagin   14 Nov 2000 18:31:18 
 MSG   Marat Gizatullin   14 Nov 2000 23:07:19 
Архивное /ru.perl/32543a11b797.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional