From simon at ruhr.pm.org Wed Sep 2 11:16:10 2009 From: simon at ruhr.pm.org (Simon Wilper) Date: Wed, 2 Sep 2009 20:16:10 +0200 Subject: [Ruhr-pm] Kino im Anschluss an den September-Stammtisch? In-Reply-To: <1251705303.7253.325.camel@blasphemy.fondsnet.de> References: <1251705303.7253.325.camel@blasphemy.fondsnet.de> Message-ID: <20090902181610.GA3779@tele.localnet> Hallo Veit, > Wie waere es mit "Inglourious Basterds"? ich bin dabei! Simon From veit at ruhr.pm.org Wed Sep 2 13:15:51 2009 From: veit at ruhr.pm.org (Veit Wahlich) Date: Wed, 02 Sep 2009 22:15:51 +0200 Subject: [Ruhr-pm] Kino im Anschluss an den September-Stammtisch? In-Reply-To: <20090902181610.GA3779@tele.localnet> References: <1251705303.7253.325.camel@blasphemy.fondsnet.de> <20090902181610.GA3779@tele.localnet> Message-ID: <1251922551.7696.14.camel@halloween.mobile.wahlich.com> Am Mittwoch, den 02.09.2009, 20:16 +0200 schrieb Simon Wilper: > ich bin dabei! Andreas, Suse und René haben auf Umwegen auch zugesagt. Gruesze, // Veit -- Ruhr.pm Perl Mongers im Ruhrgebiet http://ruhr.pm.org/ From veit at ruhr.pm.org Mon Sep 7 07:22:06 2009 From: veit at ruhr.pm.org (Veit Wahlich) Date: Mon, 7 Sep 2009 14:22:06 UT Subject: [Ruhr-pm] 14. September 2009, 19:00 Uhr: Stammtisch Message-ID: Hallo Mailingliste! Am Montag, den 14.09.2009 um 19:00 Uhr trifft sich die Ruhr.pm zum monatlichen Stammtisch[1] im Cafe Maze[2] in der Essener Innenstadt. Eingeladen ist wie immer jeder, der Interesse an Perl und sozialen Kontakten hat -- ganz gleich ob Berufsentwickler, Hobbyprogrammierer, Einsteiger oder Neugieriger. Wir freuen uns auf Deinen Besuch! Im Anschluss an den Stammtisch ist jeder eingeladen, mit ins Cinemaxx Essen[3] zu kommen und gemeinsam einen Film anzusehen. Anvisiert ist die 22:45- Vorstellung (genaue Uhrzeit noch nicht bekannt) von Quentin Tarantinos Inglourious Basterds[4]. Gruesse, Veit Wahlich -- [1] http://ruhr.pm.org/treffen/ [2] http://ruhr.pm.org/treffen/treffpunkte.psp#cafemaze [3] http://www.cinemaxx.de/ [4] http://www.cinemaxx.de/FilmeundStars/Film/Inglourious-Basterds/17992 -- Diese Nachricht wurde generiert durch http://ruhr.pm.org/. From bmorks at web.de Wed Sep 9 03:41:00 2009 From: bmorks at web.de (Brian Morks) Date: Wed, 09 Sep 2009 12:41:00 +0200 Subject: [Ruhr-pm] Hallo Welt! Message-ID: <1949751761@web.de> Hi! Ich heiße Brian, was soviel bedeutet wie Brian. Ich studiere Elektrotechnik und schreibe gerade an meiner Bachelorarbeit und hätte da mal so einige Fragen zu Perl. Ich komme aus Bochum und wollte mal anfragen, wer hier im Raum ich sag mal so zwischen Duisburg und Dortmund mir mal ein bißchen was zu Perl erklären könnte. Wäre jedenfalls sehr nett. Ansonsten komme ich mal zu dem Stammtisch, aber wenn es dann noch ins Kino geht, ist das zeitlich vielleicht ein bißchen eng. Grüße Brian ______________________________________________________ GRATIS für alle WEB.DE-Nutzer: Die maxdome Movie-FLAT! Jetzt freischalten unter http://movieflat.web.de From iw at taikonet.de Wed Sep 9 03:51:19 2009 From: iw at taikonet.de (Ingo Wichmann) Date: Wed, 09 Sep 2009 12:51:19 +0200 Subject: [Ruhr-pm] Hallo Welt! In-Reply-To: <1949751761@web.de> References: <1949751761@web.de> Message-ID: <4AA788A7.5070705@taikonet.de> Brian Morks schrieb: > Elektrotechnik und schreibe gerade an meiner Bachelorarbeit und hätte da > mal so einige Fragen zu Perl. Ich komme aus Bochum und wollte mal > anfragen, wer hier im Raum ich sag mal so zwischen Duisburg und Dortmund > mir mal ein bißchen was zu Perl erklären könnte. Wäre jedenfalls sehr Worum gehts denn? Vielleicht ist es ja gar nicht so kompliziert ;-) ... passiert bei Perl öfter ... Viele Grüße, Ingo From veit at ruhr.pm.org Wed Sep 9 04:30:03 2009 From: veit at ruhr.pm.org (Veit Wahlich) Date: Wed, 09 Sep 2009 13:30:03 +0200 Subject: [Ruhr-pm] Hallo Welt! In-Reply-To: <1949751761@web.de> References: <1949751761@web.de> Message-ID: <1252495804.7253.719.camel@blasphemy.fondsnet.de> Hi Brian, Am Mittwoch, den 09.09.2009, 12:41 +0200 schrieb Brian Morks: > Ansonsten komme ich mal zu dem Stammtisch, aber wenn es dann noch ins Kino geht, ist das zeitlich vielleicht ein bißchen eng. naja, vor 22:00 werden wir wohl nicht losgehen, da die Vorstellung erst um 22:30 oder 22:45 beginnt. Selbst wenn die Leute erst um 19:30 da sind, waeren das immer noch 2,5 Stunden. In der Zeit kriegt man ordentlich 'was erklaert. ;) Einen Vortrag haben wir ja diese Woche nicht. Gruesze, // Veit From simon at ruhr.pm.org Wed Sep 9 07:07:03 2009 From: simon at ruhr.pm.org (Simon Wilper) Date: Wed, 9 Sep 2009 16:07:03 +0200 Subject: [Ruhr-pm] Hallo Welt! In-Reply-To: <1949751761@web.de> References: <1949751761@web.de> Message-ID: <20090909140703.GA4294@tele.localnet> Hallo Brian, > bißchen was zu Perl erklären könnte. wenn das Problem nicht allzu komplex ist, kannst Du Deinen Sachverhalt ja auch hier auf die Liste posten. Eventuell kann Dir jemand helfen, der hier mitliest und vielleicht nicht zum Stammtisch kommt. Das soll jetzt aber nicht heissen, dass Du nicht auch zum Stammtisch kommen sollst. ;) Simon From bmorks at web.de Thu Sep 10 03:45:47 2009 From: bmorks at web.de (Brian Morks) Date: Thu, 10 Sep 2009 12:45:47 +0200 Subject: [Ruhr-pm] =?iso-8859-15?q?Erkl=E4rungsversuch?= Message-ID: <1951715187@web.de> Hallo! Hier mal der Versuch mein Problem ein wenig zu beschreiben. Ich möchte unter Cygwin mit einem Perlskript eine Exe-Datei aufrufen. Diese Exe-Datei ist ein Berechnungsprogramm, was man aber als Black box betrachten kann. Ich möchte diese Datei nicht nur aufrufen, sondern ihr auch Parameter übergeben. Daraufhin gibt das Berechnungsprogramm ein Ergebnis zurück. Wenn dieses Ergebnis nicht das gewünschte ist, soll die Exe-Datei mit veränderten Werten(Iteration?) immer wieder aufgerufen werden, bis das gewünschte Ergebnis erreicht wird. Ich kann zwar die Exe aufrufen, weiß aber nicht genau wie ich die Parameter hinschicken kann. Desweiteren besteht das Ergebnis, das zurückgegeben wird aus drei Teilen, wobei der erste Teil der Wichtige ist. Die Rückgabe muss man also irgendwie aufsplitten. Ich hoffe, das es zumindest etwas verständlicher geworden ist. Aber ich glaube, wenn ich das Live zeige, ist es einfacher nachzuvollziehen. Also falls jemand eine Idee hat, wäre es toll wenn er bescheid sagt. Grüße Brian ______________________________________________________ GRATIS für alle WEB.DE-Nutzer: Die maxdome Movie-FLAT! Jetzt freischalten unter http://movieflat.web.de From mailinglisten at renee-baecker.de Thu Sep 10 03:59:33 2009 From: mailinglisten at renee-baecker.de (=?ISO-8859-1?Q?Renee_B=E4cker?=) Date: Thu, 10 Sep 2009 12:59:33 +0200 Subject: [Ruhr-pm] =?iso-8859-1?q?Erkl=E4rungsversuch?= In-Reply-To: <1951715187@web.de> References: <1951715187@web.de> Message-ID: <4AA8DC15.7020203@renee-baecker.de> Hallo, zu dem Problem habe ich ein paar Fragen: * Werden die Parameter als Kommandozeilenparameter übergeben oder erwartet die exe die Daten auf STDIN? * Wie sehen die Ergebnisse aus, die die .exe liefert? Wenn die Parameter auf der Kommandozeile übergeben werden: my @lines = qx{irgendeine.exe zahl1 zahl2}; Wenn das Programm die Parameter auf STDIN erwartet, musst Du mit "open" arbeiten... open my $exe_in, "| pfad/zu/irgendeine.exe" or die $!; print $exe_in "zahl1\nzahl2"; close $exe_in Gruß, Renée Brian Morks schrieb: > Hallo! > Hier mal der Versuch mein Problem ein wenig zu beschreiben. Ich möchte unter Cygwin mit einem Perlskript eine Exe-Datei aufrufen. Diese Exe-Datei ist ein Berechnungsprogramm, was man aber als Black box betrachten kann. Ich möchte diese Datei nicht nur aufrufen, sondern ihr auch Parameter übergeben. Daraufhin gibt das Berechnungsprogramm ein Ergebnis zurück. Wenn dieses Ergebnis nicht das gewünschte ist, soll die Exe-Datei mit veränderten Werten(Iteration?) immer wieder aufgerufen werden, bis das gewünschte Ergebnis erreicht wird. Ich kann zwar die Exe aufrufen, weiß aber nicht genau wie ich die Parameter hinschicken kann. > Desweiteren besteht das Ergebnis, das zurückgegeben wird aus drei Teilen, wobei der erste Teil der Wichtige ist. Die Rückgabe muss man also irgendwie aufsplitten. > Ich hoffe, das es zumindest etwas verständlicher geworden ist. Aber ich glaube, wenn ich das Live zeige, ist es einfacher nachzuvollziehen. Also falls jemand eine Idee hat, wäre es toll wenn er bescheid sagt. > Grüße > Brian -- Perl-Magazin: http://perl-magazin.de Perl-Nachrichten: http://perl-nachrichten.de From skx at ssis.de Thu Sep 10 04:06:22 2009 From: skx at ssis.de (Stefan Kox) Date: Thu, 10 Sep 2009 13:06:22 +0200 Subject: [Ruhr-pm] =?iso-8859-1?q?Erkl=E4rungsversuch?= References: <1951715187@web.de> Message-ID: Hallo Brian, ich bin mir nicht sicher ob es richtig ist (und ob ich dich verstanden habe), aber ich versuche es mal. my @args = ($exename, $parameter); my $ret = system(@args); -----Ursprüngliche Nachricht----- Von: ruhr-pm-bounces+skx=ssis.de at pm.org [mailto:ruhr-pm-bounces+skx=ssis.de at pm.org] Im Auftrag von Brian Morks Gesendet: Donnerstag, 10. September 2009 12:46 An: ruhr-pm at pm.org Betreff: [Ruhr-pm] Erklärungsversuch Hallo! Hier mal der Versuch mein Problem ein wenig zu beschreiben. Ich möchte unter Cygwin mit einem Perlskript eine Exe-Datei aufrufen. Diese Exe-Datei ist ein Berechnungsprogramm, was man aber als Black box betrachten kann. Ich möchte diese Datei nicht nur aufrufen, sondern ihr auch Parameter übergeben. Daraufhin gibt das Berechnungsprogramm ein Ergebnis zurück. Wenn dieses Ergebnis nicht das gewünschte ist, soll die Exe-Datei mit veränderten Werten(Iteration?) immer wieder aufgerufen werden, bis das gewünschte Ergebnis erreicht wird. Ich kann zwar die Exe aufrufen, weiß aber nicht genau wie ich die Parameter hinschicken kann. Desweiteren besteht das Ergebnis, das zurückgegeben wird aus drei Teilen, wobei der erste Teil der Wichtige ist. Die Rückgabe muss man also irgendwie aufsplitten. Ich hoffe, das es zumindest etwas verständlicher geworden ist. Aber ich glaube, wenn ich das Live zeige, ist es einfacher nachzuvollziehen. Also falls jemand eine Idee hat, wäre es toll wenn er bescheid sagt. Grüße Brian ______________________________________________________ GRATIS für alle WEB.DE-Nutzer: Die maxdome Movie-FLAT! Jetzt freischalten unter http://movieflat.web.de _______________________________________________ Ruhr.pm mailing list Ruhr-pm at pm.org http://mail.pm.org/mailman/listinfo/ruhr-pm From veit at ruhr.pm.org Thu Sep 10 04:18:14 2009 From: veit at ruhr.pm.org (Veit Wahlich) Date: Thu, 10 Sep 2009 13:18:14 +0200 Subject: [Ruhr-pm] =?iso-8859-1?q?Erkl=E4rungsversuch?= In-Reply-To: References: <1951715187@web.de> Message-ID: <1252581494.7253.918.camel@blasphemy.fondsnet.de> Hallo! Die Ausfuehrung mittels system() hat halt den Nachteil, dass man keine Ausgaben von stdout beziehen kann, und das Programm wird seine Ausgabe vemrutlich nicht ueber den Exit-Wert mitteilen. Daher vermute ich, dass Brian um open (oder evtl. sogar open3) nicht herumkommen wird. Brian: Neben der Beantwortung von Ingos Frage bzw. der Parameteruebergabe (Eingaben oder Befehlszeilenparameter) sollte evtl. auch geklaert werden, ob Cygwin die richtige Umgebung ist. Ich weisz ja jetzt nicht, was die Aufgabe ist, aber es klingt fuer mich nach Bruteforce -- und Cygwin ist ja nun nicht die performanteste Umgebung. Moeglicherweise sind native Windows-Perls (z.B. ActivePerl) die bessere Umgebung fuer die Aufgabe. Gruesze, // Veit Am Donnerstag, den 10.09.2009, 13:06 +0200 schrieb Stefan Kox: > Hallo Brian, > > ich bin mir nicht sicher ob es richtig ist (und ob ich dich verstanden habe), aber ich versuche es mal. > > my @args = ($exename, $parameter); > my $ret = system(@args); > > > -----Ursprüngliche Nachricht----- > Von: ruhr-pm-bounces+skx=ssis.de at pm.org [mailto:ruhr-pm-bounces+skx=ssis.de at pm.org] Im Auftrag von Brian Morks > Gesendet: Donnerstag, 10. September 2009 12:46 > An: ruhr-pm at pm.org > Betreff: [Ruhr-pm] Erklärungsversuch > > Hallo! > Hier mal der Versuch mein Problem ein wenig zu beschreiben. Ich möchte unter Cygwin mit einem Perlskript eine Exe-Datei aufrufen. Diese Exe-Datei ist ein Berechnungsprogramm, was man aber als Black box betrachten kann. Ich möchte diese Datei nicht nur aufrufen, sondern ihr auch Parameter übergeben. Daraufhin gibt das Berechnungsprogramm ein Ergebnis zurück. Wenn dieses Ergebnis nicht das gewünschte ist, soll die Exe-Datei mit veränderten Werten(Iteration?) immer wieder aufgerufen werden, bis das gewünschte Ergebnis erreicht wird. Ich kann zwar die Exe aufrufen, weiß aber nicht genau wie ich die Parameter hinschicken kann. > Desweiteren besteht das Ergebnis, das zurückgegeben wird aus drei Teilen, wobei der erste Teil der Wichtige ist. Die Rückgabe muss man also irgendwie aufsplitten. > Ich hoffe, das es zumindest etwas verständlicher geworden ist. Aber ich glaube, wenn ich das Live zeige, ist es einfacher nachzuvollziehen. Also falls jemand eine Idee hat, wäre es toll wenn er bescheid sagt. > Grüße > Brian > ______________________________________________________ > GRATIS für alle WEB.DE-Nutzer: Die maxdome Movie-FLAT! > Jetzt freischalten unter http://movieflat.web.de > > _______________________________________________ > Ruhr.pm mailing list > Ruhr-pm at pm.org > http://mail.pm.org/mailman/listinfo/ruhr-pm > _______________________________________________ > Ruhr.pm mailing list > Ruhr-pm at pm.org > http://mail.pm.org/mailman/listinfo/ruhr-pm From bmorks at web.de Thu Sep 10 06:03:31 2009 From: bmorks at web.de (Brian Morks) Date: Thu, 10 Sep 2009 15:03:31 +0200 Subject: [Ruhr-pm] Perl Message-ID: <1952033262@web.de> Hi Jungs! 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 - Cygwin wurde mir vom Unibetreuer empfohlen, muss natürlich nichts heißen. Werde das jetzt mal mit euren Tipps probieren. Grüße Brian ________________________________________________________________ Neu: WEB.DE Doppel-FLAT mit Internet-Flatrate + Telefon-Flatrate für nur 19,99 Euro/mtl.!* http://produkte.web.de/go/02/ From veit at ruhr.pm.org Thu Sep 10 06:28:15 2009 From: veit at ruhr.pm.org (Veit Wahlich) Date: Thu, 10 Sep 2009 15:28:15 +0200 Subject: [Ruhr-pm] Perl In-Reply-To: <1952033262@web.de> References: <1952033262@web.de> Message-ID: <1252589295.7253.956.camel@blasphemy.fondsnet.de> Am Donnerstag, den 10.09.2009, 15:03 +0200 schrieb Brian Morks: > Bezüglich eurer Fragen: > - Die Parameterübergabe ist denke ich mal über die Kommandozeile, muss ich das dann einfach mit zwei Bindestrichen einleiten oder? Nicht unbedingt, "--" in Uebergaben wie "programm parameter0 -- parameter1 parameter2" werden meist nur als Trennzeichen verwendet, z.B. um Parameter fuer ein Programm selbst sowie fuer ein von diesem Programm gestartetes oder interpretiertes weiteres Programm zu trennen. Beispielsweise kannst Du damit SSH mitteilen, welche Parameter fuer den SSH-Client und welche fuer die vom SSH-Client gestartete entfernte Shell gedacht sind. > - Die Ergebnisse der Exe sehen z.B. so aus: 21.341 1.000 5.391 Wobei nur die 21.341 verglichen werden sollte Klingt fuer mich nach Ausgabe auf stdout. In diesem Fall wuerdest Du am Einfachsten den open-Befehl wie von Renee beschrieben verwenden, eine Zeile einlesen, das Filehandle von stdout des Programms schlieszen und die Ausgabe dann z.B. mit split oder einem Regex zerlegen. Beispiel: # Eingabe-Parameter deklarieren und festlegen: my($param1, $param2) = (123, 456); # Spaeter verwendete Variablen deklarieren -- Execution-Handle, Zeile und Ergebnis: my($xh, $line, $result); # Programm mit Parametern starten und zum Lesen seiner Ausgaben oeffnen, bei Erfolg... if(open($xh, '-|', '/pfad/programm.exe \'' . $param1 . '\' \'' . $param2 . '\'')){ # ... erste Zeile einlesen, ... $line = readline($xh); # ... alle Zeichen bis zum ersten Leerzeichen in $result laden... ($result) = ($line =~ /^\S+/); # ... und Programm schlieszen. close($xh); } # Bei Fehler... else{ # ... Fehlermeldung ausgeben. printf("Fehler beim Ausfuehren: %s\n", $!); } Hier wird jetzt das Programm /pfad/programm.exe mit den in $param1 und $param2 festgelegten Werten aufgerufen, die etwas umstaendliche Kapselung der Parameter in '' beim Aufruf habe ich jetzt nur zur Sicherheit gemacht, weil ich nicht sicher bin, welche Zeichen die Parameter wirklich enthalten -- wirklich sicher ist das auch nicht, da muesste man dann erst noch auf Zeichen filtern. Das laesst sich also wahrscheinlich im konkreten Fall auch noch vereinfachen. Das Ergebnis wird schliesslich in $result gespeichert, und zwar alle Zeichen der ersten Zeile der Ausgabe des Programms vor dem ersten Leerzeichen. > - Cygwin wurde mir vom Unibetreuer empfohlen, muss natürlich nichts heißen. Cygwin ist an der Uni Essen sehr beliebt, das kenne ich auch noch von frueher... Meist eingesetzt von Informatikern, die genoetigt werden, mit Windows zu arbeiten, um an eine anstaendige Shell zu gelangen. ;) Gruesze, // Veit From mailinglisten at renee-baecker.de Thu Sep 10 07:28:23 2009 From: mailinglisten at renee-baecker.de (=?ISO-8859-1?Q?Renee_B=E4cker?=) Date: Thu, 10 Sep 2009 16:28:23 +0200 Subject: [Ruhr-pm] Perl In-Reply-To: <1252589295.7253.956.camel@blasphemy.fondsnet.de> References: <1952033262@web.de> <1252589295.7253.956.camel@blasphemy.fondsnet.de> Message-ID: <4AA90D07.2010307@renee-baecker.de> Veit Wahlich schrieb: > Klingt fuer mich nach Ausgabe auf stdout. In diesem Fall wuerdest Du am > Einfachsten den open-Befehl wie von Renee beschrieben verwenden, eine > Zeile einlesen, das Filehandle von stdout des Programms schlieszen und > die Ausgabe dann z.B. mit split oder einem Regex zerlegen. Ich würde da eher qx{} nehmen: my ($line) = qx{ programm.exe 'param1' 'param2' }; my $info = (split /\s/, $line)[2]; print $info; - Renée -- Perl-Magazin: http://perl-magazin.de Perl-Nachrichten: http://perl-nachrichten.de From veit at ruhr.pm.org Thu Sep 10 07:41:27 2009 From: veit at ruhr.pm.org (Veit Wahlich) Date: Thu, 10 Sep 2009 16:41:27 +0200 Subject: [Ruhr-pm] Perl In-Reply-To: <4AA90D07.2010307@renee-baecker.de> References: <1952033262@web.de> <1252589295.7253.956.camel@blasphemy.fondsnet.de> <4AA90D07.2010307@renee-baecker.de> Message-ID: <1252593687.7253.968.camel@blasphemy.fondsnet.de> Am Donnerstag, den 10.09.2009, 16:28 +0200 schrieb Renee Bäcker: > Ich würde da eher qx{} nehmen: > > my ($line) = qx{ programm.exe 'param1' 'param2' }; > my $info = (split /\s/, $line)[2]; > > print $info; Okay, qx{} oder `` ist natuerlich einfacher und viel kuerzer. Ich hatte das zunaechst ausgeschlossen, weil dabei ja noch eine Shell gestartet wird -- aber bei einem solchen Aufruf von open() passiert das ja genauso. Er moechte allerdings die erste Zahl aus der Ausgabe, nicht die dritte, also (split /\s/, $line)[0]; oder ($info) = ($line =~ /^(\S+)/); Die () im Regex hatte ich uebrigens vorhin vergessen, dort gehoeren sie ja auch hin. Gruesze, // Veit From mailinglisten at renee-baecker.de Thu Sep 10 07:48:18 2009 From: mailinglisten at renee-baecker.de (=?UTF-8?B?UmVuZWUgQsOkY2tlcg==?=) Date: Thu, 10 Sep 2009 16:48:18 +0200 Subject: [Ruhr-pm] Perl In-Reply-To: <1252593687.7253.968.camel@blasphemy.fondsnet.de> References: <1952033262@web.de> <1252589295.7253.956.camel@blasphemy.fondsnet.de> <4AA90D07.2010307@renee-baecker.de> <1252593687.7253.968.camel@blasphemy.fondsnet.de> Message-ID: <4AA911B2.3040007@renee-baecker.de> Veit Wahlich schrieb: > Er moechte allerdings die erste Zahl aus der Ausgabe, nicht die dritte, > also (split /\s/, $line)[0]; oder ($info) = ($line =~ /^(\S+)/); Oh ja, sorry... -- Perl-Magazin: http://perl-magazin.de Perl-Nachrichten: http://perl-nachrichten.de From iw at taikonet.de Fri Sep 11 01:41:56 2009 From: iw at taikonet.de (Ingo Wichmann) Date: Fri, 11 Sep 2009 10:41:56 +0200 Subject: [Ruhr-pm] Perl In-Reply-To: <1952033262@web.de> References: <1952033262@web.de> Message-ID: <4AAA0D54.1010309@taikonet.de> 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