[Ruhr-pm] Perl
Ingo Wichmann
iw at taikonet.de
Fr Sep 11 01:41:56 PDT 2009
Brian Morks schrieb:
> Danke für die Antworten.
> Bezüglich eurer Fragen:
> - Die Parameterübergabe ist denke ich mal über die Kommandozeile, muss ich das dann einfach mit zwei Bindestrichen einleiten oder?
> - Die Ergebnisse der Exe sehen z.B. so aus: 21.341 1.000 5.391 Wobei nur die 21.341 verglichen werden sollte
Dann kannst Du das mit open machen:
===============================================
# Datei öffnen und Ausgabe nach $exe_out lenken:
open my $exe_out, 'c:/blackbox.exe |'
or die $! ;
my $summe;
# Ausgabe Zeile für Zeile einlesen:
while ( my $line = <$exe_out> ) {
# Ausgabe mit Regulärem Ausdruck verarbeiten:
my ($zahl) = ($line =~ m/
^(\d+\.\d+)
/x);
$summe += $zahl;
}
print $summe;
===============================================
Oder etwas kürzer, aber weniger einsteigerfreundlich::
===============================================
# Datei öffnen und Ausgabe nach $exe_out lenken:
open my $exe_out, './data.txt |'
or die $! ;
my $summe;
# Ausgabe Zeile für Zeile einlesen:
while ( <$exe_out> ) {
# Ausgabe mit Regulärem Ausdruck verarbeiten:
my ($zahl) = (m/ ^(\d+\.\d+) /x);
$summe += $_;
}
print $summe;
===============================================
Viele Grüße,
Ingo
Mehr Informationen über die Mailingliste Ruhr-pm