Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
[Perl] Mailadresse finden mit REGEX
#1
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.
Zitieren Return to top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste