DEFINT a-z FUNCTION PBMAIN() IF COMMAND$= "" THEN PRINT "error" EXIT FUNCTION END IF '(1) suck out froms PRINT "Sucking out froms..."; OPEN COMMAND$ FOR INPUT AS #1 OPEN "froms.txt" FOR OUTPUT AS #2 DO LINE INPUT #1, x$ IF LCASE$(LEFT$(x$, 5)) = "from:" THEN PRINT #2, x$ IF LCASE$(LEFT$(x$, 9)) = "reply-to:" THEN PRINT #2, x$ LOOP UNTIL EOF(1) CLOSE PRINT "ok" '(2) strip emails PRINT "Stripping emails..."; OPEN "froms.txt" FOR INPUT AS #1 OPEN "emails.txt" FOR OUTPUT AS #2 DO LINE INPUT #1, x$ atsign = INSTR(x$, "@") start = INSTR(-(LEN(x$)-atsign), x$, ANY ",:>< """) + 1 x$ = MID$(x$, start) IF INSTR(x$, ANY "<> """)<>0 THEN x$ = MID$(x$, 1, INSTR(x$, ANY ",:<> """)-1) END IF PRINT #2, x$ LOOP UNTIL EOF(1) CLOSE PRINT "ok" '(3) sort PRINT "Sorting..."; SHELL "c:\command.com /c sort < emails.txt > emails.srt" PRINT "ok" '(4) remove doubles PRINT "Removing doubles..."; OPEN "emails.srt" FOR INPUT AS #1 OPEN "emails.all" FOR OUTPUT AS #2 last$ = "" DO LINE INPUT #1, x$ IF lcase$(x$) <> lcase$(last$) THEN PRINT #2, x$ last$ = x$ END IF LOOP UNTIL EOF(1) CLOSE PRINT "ok" PRINT "done" END FUNCTION