perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 31
Click for quality!




11.02.2012 / 16:45

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragErsetzen...
Seitenanfang
Liebe Leute!
Ich bin vollkommen neu in der Perl-Welt und weiß überhaupt nicht, wie ich an folgendes Problem herangehen soll:
Ich habe zwei Dateien aus meinem Mailprogramm (Eudora), die ich miteinander abgleichen will. Das eine File enthält jeweils das korrekte Datum von einigen hundert Emails in folgendem kruden Format:

˙˙˙˙˙˙˙˙˙˙*    ż ē˙ ŌA š  Ķ"7 < 23:15 30.03.1999 ›Æ¦Ebeispiel@beispiel.be Betreff

Das andere File enthält aufgrund wer weiß welches blöden Fehlers für alle besagten Emails immer das selbe Datum:

From ???@??? Thu Jan 11 22:43:55 2007
To: beispiel@beispiel.be

Nun will ich die Daten des zweiten mit all jenen des ersten Ersetzen. Nur wie? Mit welchen Funktionen geht das am besten?

Es wäre sehr nett, wenn mir dabei jemand ein wenig unter die Arme greifen könnte.
Vielen Dank.
Jens

Datum: 31.07.2008-21:24

Beitragre: Ersetzen...
Seitenanfang
Ich habe jetzt immerhin einen perl-code gefunden, der die von mir angesprochene toc-Datei ausliest.
Leider fehlt mir jetzt noch die Möglichkeit, das Ergebnis in einer txt-Datei zusammenzufassen. Könnt Ihr mir da helfen? Was muss da noch rein?


$HEADER = "a6 a2 a32 c a61 l l C*";
$MESSAGE = "CCCCCCCC l4 C C*";

open(TOC,$ARGV[0]) || die $!;

$count = read(TOC, $buf, 104);
($ver, $d1, $title, $type, $d2, $nm1, $nm2, @x) = unpack($HEADER, $buf);
print "Version info: $ver\n";
print "Title: $title\n";
$type = ("In", "Out", "Trash", "Other")[$type];
print "Type: $type\n";
$nummsgs = $nm1 + $nm2*256;
print "Number of messages: $nummsgs\n\n";
getc();

for ($i = 0; $i < $nummsgs; $i++) {
undef $msgbuf;
seek(TOC, 104+218*$i, 0);
$count = read(TOC, $msgbuf, 218);
($o1,$o2,$o3,$o4,$s1,$s2,$s3,$s4,$secs,$status,$read,$x) =
unpack($MESSAGE,$msgbuf);
$msgoffset = $o1 + $o2*256 + $o3*65536 + $o4*16777216;
print "Message Offset: $msgoffset\n";
$msgsize = $s1 + $s2*256 + $s3*65536 + $s4*16777216;
print "Message Size: $msgsize\n";
print "Status: $status\n";
$date = substr($msgbuf,18,32);
print "Date: $date\n";
print "Seconds: $secs\n";
$name = substr($msgbuf,50,64);
print "Name: $name\n";
$sub = substr($msgbuf,114,64);
print "Subject: $sub\n\n";
}

Vielen Dank!

Datum: 06.08.2008-17:31

-






-
-