Joopi

Normale Version: Mailadresse finden mit REGEX
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
In einem kleinen Projekt muss ich in der Lage sein, aus einer Textdatei, hier speziell einer mbox-Datei, die enthaltenen Mailadressen erkennen und separieren zu können.

Das nachfolgende Script hat mir geholfen, die Aufgabe zu erledigen und die Mailadressen anzeigen zu lassen.

Code:
#!/usr/bin/perl -w

# Es werden nicht immer alle Mailadressen gefunden, die in der Textdatei enthalten sind.

use strict;
use warnings;

my $email_count;
my $dateiname = "/home/none/help/help5/temp/1.mbox";

# Die mbox-Datei wird im handle IN geöffnet.

open IN, "<".$dateiname or die "can't open $dateiname: $!";

while (my $line = <IN> )
{ #read from file or STDIN
 
  foreach my $email (split /\s+/, $line)
  {
   
    if ( $email =~ /^[-\w.]+@([a-z0-9][a-z-0-9]+\.)+[a-z]{2,4}$/i )
    {
         print $email . "\n";
         $email_count++;
    }
  }
}

print "Emails Extracted: $email_count\n";

Die gefundenen Mailadressen können nun weiterverwendet werden. Es gibt aber noch eine Fehlfunktion, die ich mir noch nicht erklären kann. Es werden leider nicht immer alle Mailadressen gefunden, die enthalten sind. Warum das so ist, habe ich noch nicht erkennen können.