Thread starten zwei Subs - Eingabe / Ausgabe (4 answers)
Opened by Mara at 2011-12-29 11:45

GwenDragon
 2011-12-29 14:04
#155168 #155168
User since
2005-01-17
14748 Artikel
Admin1
[Homepage]
user image
Du kannst auf der Kommandouzeile doch Dateinamen und Muster einlesen.
Das geht mit dem Modul CPAN:Getopt-Long.

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
use Getopt::Long;

my $filename   = "";
my $pattern = "";

my $result = GetOptions ("file=s"   => \$filename,      # string
                        "pattern=s"  => \$pattern);  # flag
);

my $text;
# Daten einlesen
open (my $fh, "<", $filename) or die "ERROR: File $filename not opened: $!\n";
while ($text = <$fh>) { # zeilenweise Text aus Datei $filename einlesen
  my $ret = ermorde_Knuth($text, $pattern);
  if ($ret != -1) {
    print "Treffer $ret von $pattern in $text\n";
  }
}
close($fh) or die "ERROR: File $filename not closed: $!\n";


Dein Programm wird dann so aufgerufen in der Kommandozeile:
ermordeknuth.pl -file text.txt -pattern "PA3TteRn"

Probier das mal selbst und schau mal noch in deinen Programmcode, da sind immer noch Fehler drin.


Editiert von GwenDragon:
Tippfehler in Modulnamen; Variable $filename; Ausgabe des Treffers

Last edited: 2011-12-29 14:14:56 +0100 (CET)

View full thread starten zwei Subs - Eingabe / Ausgabe