From roland.bauer at fff.at Tue Sep 12 08:48:08 2000 From: roland.bauer at fff.at (Roland Bauer) Date: Thu Aug 5 00:23:38 2004 Subject: [vienna.pm] Demanaechst Monger-Treffen? Message-ID: <39BE3417.3F67AC57@fff.at> * * * vienna-pm-list * * * Hallo Mongers, was haltet Ihr von einem Monger-Treffen? Beispiel: Dienstag, 19. 09. 2000 ab 19 Uhr? Wer haette an diesem Tag Zeit? Wer schlaegt einen anderen Tag vor? Welches Lokal nehmen wir? (Ein eher ruhiges Lokal waere gut, glaub ich.) Schoene Gruesse Roland -- roland.bauer@fff.at http://www.fff.at/roland/ ### You are subscribed to vienna-pm-list as Roland Bauer http://www.fff.at/fff/vienna.pm/ From roland.bauer at fff.at Tue Sep 12 08:56:54 2000 From: roland.bauer at fff.at (Roland Bauer) Date: Thu Aug 5 00:23:38 2004 Subject: [vienna.pm] Derzeit 49 Mongers Message-ID: <39BE3626.C0C44BF7@fff.at> * * * vienna-pm-list * * * Alle warten gespannt darauf, dass jemand etwas sagt ;-) Roland -- roland.bauer@fff.at http://www.fff.at/roland/ ### You are subscribed to vienna-pm-list as Roland Bauer http://www.fff.at/fff/vienna.pm/ From a9404849 at unet.univie.ac.at Tue Sep 12 09:04:57 2000 From: a9404849 at unet.univie.ac.at (Lukas Ertl) Date: Thu Aug 5 00:23:38 2004 Subject: [vienna.pm] Derzeit 49 Mongers In-Reply-To: <39BE3626.C0C44BF7@fff.at> Message-ID: * * * vienna-pm-list * * * On Tue, 12 Sep 2000, Roland Bauer wrote: > * * * vienna-pm-list * * * > > > Alle warten > gespannt darauf, dass jemand etwas sagt ;-) *ping* :) lg, le -- "It's like training wheels without the bike." -- Randal Schwartz, talking about PHP ### You are subscribed to vienna-pm-list as Lukas Ertl http://www.fff.at/fff/vienna.pm/ From egger at unimedia.at Tue Sep 12 12:58:26 2000 From: egger at unimedia.at (Gerhard Egger) Date: Thu Aug 5 00:23:38 2004 Subject: [vienna.pm] Treffen Message-ID: <200009121554.e8CFs5027660@p133.inode.at> Termin OK lg Gerhard -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/archives/vienna-pm/attachments/20000912/de076419/attachment.htm From w3team at ecodesign.at Tue Sep 12 12:33:58 2000 From: w3team at ecodesign.at (ECODESIGN W3-Team) Date: Thu Aug 5 00:23:38 2004 Subject: [vienna.pm] Demanaechst Monger-Treffen? References: <39BE3417.3F67AC57@fff.at> Message-ID: <39BE6905.AB1C18C2@ecodesign.at> * * * vienna-pm-list * * * Roland Bauer schrieb: > * * * vienna-pm-list * * * > > Hallo Mongers, > > was haltet Ihr von einem Monger-Treffen? > > Beispiel: Dienstag, 19. 09. 2000 ab 19 Uhr? > > Wer haette an diesem Tag Zeit? > Wer schlaegt einen anderen Tag vor? > Welches Lokal nehmen wir? > > (Ein eher ruhiges Lokal waere gut, glaub ich.) > > Schoene Gruesse > Roland ich habe Zeit, Lokale bevorzugt im 2. sowie 5. - 9. Hieb, damit ich nicht soviel radeln muss;-) lg thomas -- -------------------------------------------------------- W3 Team des ECODESIGN Informationsknoten TU Wien email:w3team@ecodesign.at Umfangreiche Infos zum Thema ECODESIGN finden Sie unter: http://www.ecodesign.at/ -------------------------------------------------------- ### You are subscribed to vienna-pm-list as ECODESIGN W3-Team http://www.fff.at/fff/vienna.pm/ From a9404849 at unet.univie.ac.at Tue Sep 12 12:01:26 2000 From: a9404849 at unet.univie.ac.at (Lukas Ertl) Date: Thu Aug 5 00:23:38 2004 Subject: [vienna.pm] Demanaechst Monger-Treffen? In-Reply-To: <39BE3417.3F67AC57@fff.at> Message-ID: * * * vienna-pm-list * * * On Tue, 12 Sep 2000, Roland Bauer wrote: > * * * vienna-pm-list * * * > > > Hallo Mongers, > > was haltet Ihr von einem Monger-Treffen? > > Beispiel: Dienstag, 19. 09. 2000 ab 19 Uhr? Schade, habe keine Zeit, bin auf Urlaub. Aber nehmt keine R?cksicht auf mich :) lg, le -- "It's like training wheels without the bike." -- Randal Schwartz, talking about PHP ### You are subscribed to vienna-pm-list as Lukas Ertl http://www.fff.at/fff/vienna.pm/ From hjp at wsr.ac.at Tue Sep 12 13:29:28 2000 From: hjp at wsr.ac.at (Peter J . Holzer) Date: Thu Aug 5 00:23:38 2004 Subject: [vienna.pm] Demanaechst Monger-Treffen? In-Reply-To: <39BE3417.3F67AC57@fff.at>; from Roland Bauer on Tue, Sep 12, 2000 at 03:48:08PM +0200 References: <39BE3417.3F67AC57@fff.at> Message-ID: <20000912202928.I2668@wsr.ac.at> On 2000-09-12 15:48:08 +0200, Roland Bauer wrote: > Beispiel: Dienstag, 19. 09. 2000 ab 19 Uhr? > > Wer haette an diesem Tag Zeit? Ich (Am n?chsten Tag ist Luga-Treffen, aber bis dahin bin ich schon wieder munter ;-) > Wer schlaegt einen anderen Tag vor? Ich nicht, aber ich bin flexibel. > Welches Lokal nehmen wir? Was hatten wir denn bis jetzt? Salmbr?u (gutes Bier, eher laut) Inder in der Florianigasse (gutes Essen) cm2 (war ich nicht dabei) habe ich was vergessen? hp -- _ | Peter J. Holzer | Any setuid root program that does an |_|_) | Sysadmin WSR / LUGA | exec() somewhere is just a less | | | hjp@wsr.ac.at | user friendly version of su. __/ | http://www.hjp.at/ | -- Olaf Kirch on bugtraq 2000-08-07 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 371 bytes Desc: not available Url : http://mail.pm.org/archives/vienna-pm/attachments/20000912/c243f253/attachment.bin From marcel at codewerk.com Thu Sep 14 03:02:20 2000 From: marcel at codewerk.com (marcel@codewerk.com) Date: Thu Aug 5 00:23:38 2004 Subject: [vienna.pm] Derzeit 49 Mongers In-Reply-To: References: Message-ID: <200009140802.KAA01212@fizban.local> * * * vienna-pm-list * * * In pm-vienna, you wrote: > >*ping* :) pong Marcel (kann leider nicht zum Treffen kommen, bin bei der Queen zum afternoon tea) ### You are subscribed to vienna-pm-list as marcel@codewerk.com http://www.fff.at/fff/vienna.pm/ From roland.bauer at fff.at Fri Sep 15 12:17:28 2000 From: roland.bauer at fff.at (Roland Bauer) Date: Thu Aug 5 00:23:38 2004 Subject: [vienna.pm] Perl-Monger-Treffen am Di, 19. 09. 2000 Message-ID: <39C259A8.AE8FE081@fff.at> * * * vienna-pm-list * * * Hallo Mongers! (nachdem keine weiteren Vorschlaege eingelangt sind) Ergebnis: Perl Monger Treffen am Di, 19. 09. 2000 ab 19 Uhr Restaurant "SAMRAT" Das Tor zu Indien 1080 Wien, Florianigasse 20/29 Phone: 408 47 41 Schaetzomativ haben sich ca 5 Interessenten geoutet, wenn jemand im Nachhinein dazustoesst, duerfte das auch kein Problem sein. Ich habe jedenfalls gerade fuer 5 Personen auf den Namen "Bauer" reserviert. Schoene Gruesse Roland -- roland.bauer@fff.at http://www.fff.at/roland/ ### You are subscribed to vienna-pm-list as Roland Bauer http://www.fff.at/fff/vienna.pm/ From roland.bauer at fff.at Wed Sep 20 01:10:28 2000 From: roland.bauer at fff.at (Roland Bauer) Date: Thu Aug 5 00:23:38 2004 Subject: [vienna.pm] 4 Mongers, ein Mond und LUGA References: <99110819573409.00801@linux1> <3835DA31.BEDBA7DF@fff.at> Message-ID: <39C854D4.652249B9@fff.at> * * * vienna-pm-list * * * Hallo Mongers Wir waren gestern zu viert. Eine der zentralen Fragen des Abends war, warum wohl der Mond der Erde immer diesselbe Seite zuwendet. Dafuer gibt es aber leider kein CPAN-Modul ;-) Das naechste Treffen findet statt, sobald jemand eines vorschlaegt :-) Schoene Gruesse Roland P.S.: Heute uebrigens LUGA-Treffen um 19 Uhr in der Hopfenstange (Kaiserstrasse) ### You are subscribed to vienna-pm-list as Roland Bauer http://www.fff.at/fff/vienna.pm/ From roland.bauer at fff.at Wed Sep 20 03:10:44 2000 From: roland.bauer at fff.at (Roland Bauer) Date: Thu Aug 5 00:23:38 2004 Subject: [vienna.pm] 4 Mongers, 1 Mond und LUGA Message-ID: <39C87104.11773647@fff.at> * * * vienna-pm-list * * * Hallo Mongers Menschliches: Beim gestrigen Treffen waren wir 4. Thematisches: Eine der zentralen Fragen: Warum weist immer diesselbe Seite des Mondes Richtung Erde? Dafuer gibt es leider kein CPAN-Modul ;-) Organisatorisches: Das naechste Treffen findet statt, sobald jemand eines vorschlaegt. Heutiges: Heute um 19 Uhr findet in der Hopfenstange (Kaiserstrasse) ein LUGA-Treffen statt: http://www.luga.at/workshops/kalender.html Schoene Gruesse Roland -- roland.bauer@fff.at http://www.fff.at/roland/ ### You are subscribed to vienna-pm-list as Roland Bauer http://www.fff.at/fff/vienna.pm/ From robe at vandale.nl Fri Sep 22 07:04:01 2000 From: robe at vandale.nl (Rob Ermers) Date: Thu Aug 5 00:23:38 2004 Subject: [vienna.pm] Anfaengerfrage Message-ID: <581773313ECAD21199300000F8FA73D3067B@matra.vandale.nl> * * * vienna-pm-list * * * Liebe Perl-Mongers in Venedig, Ich fange erst an mit Perl. Trotzdem wuerd' ich Euch gern' ein konkretes Problem vorlegen, fuer das ich in der Literatur keine L?sung gefunden habe. Ich arbeite ?brigens in Linux. Ich stelle Euch die Probleme in einigen Schritten vor. Ich habe ein Datenbestand das etwa so aussieht: Hauptwort Fisch Uebersetzung vis Beispeil Fische leben im Meer UebersetzB. vissen leven in de zee Hauptwort Blume Uebersetzung bloem Beispiel ich liebe Blumen UebersetzB. ik houd van bloemen Hauptwort Kasten Uebersetzung doos Synonym kist Beispiel er legte seine Uhr in den Kasten UebersetzB. hij legde zijn horloge in de doos Die Probleme: Ich suche jetzt ein Perl-script, das vor dem Hauptwort eine Referenznummer einschiebt, und zwar: Nummer 112 Hauptwort Fisch Uebersetzung vis Beispeil Fische leben im Meer UebersetzB. vissen leven in de zee Nummer 324 Hauptwort Blume Uebersetzung bloem Beispeil ich liebe Blumen UebersetzB. ik houd van bloemen Nummer 456 Hauptwort Kasten Uebersetzung doos Synonym kist Beispiel er legte seine Uhr in den Kasten UebersetzB. hij legde zijn horloge in de doos Fuer weitere Bearbeitungen (siehe Unten) wird es noetig sein diese Nummer hinter die andere Daten schieben zu k?nnen: Nummer 112 Hauptwort Fisch#112 Uebersetzung vis #112 Beispeil Fische leben im Meer#112 UebersetzB. vissen leven in de zee#112 Nummer 324 Hauptwort Blume#324 Uebersetzung bloem#324 Beispiel ich liebe Blumen#324 UebersetzB. ik houd van bloemen#324 Nummer 456 Hauptwort Kasten #456 Uebersetzung doos #456 Synonym kist #456 Beispiel er legte seine Uhr in den Kasten #456 UebersetzB. hij legde zijn horloge in de doos #456 Die Beispiele die ich hier gebe sind Deutsch-Niederlaendisch und absichtlich nicht alphabetisch geordnet. In Wirklichkeit geht es um ein Uebersetztes tuerkisch-arabisches Lexikon das einer nicht-alphabetischen Ordnung unterliegt. Ich will also Referenznummer benutzen, mit denen man im Verzeichnis referiert an die Hauptw?rter und Uebersetzungen (und vielleicht nog die Beispiele) im Text: A. Verzeichnis von Hauptw?rtern: Blume 324 Fisch 112 Kasten 456 B. Verzeichnis von Uebersetzungen: bloem Blume 324 doos Kasten 456 kist Kasten 456 vis Fisch 112 C. Verzeichnis von W?rtern in den Beispielen: ich (B) 22, 34, 98, 111, 675 liebe (B) 98, 324 Uhr (B) 23, 456 Meer (B) 77, 112 ... Eine weitere Komplikation - nichts ist einfach! - dabei ist das meine Datei nich in der lateinischen Schrift ist, sondern in einer angepassten Kyrillische Schrift, wo z.B. ? (=t) ? (=s) folgt. (Unser tuerkisch-arabisches Lexikon wird ?brigens ins russische uebersetzt.) Um das Verzeichnis richtig zu ordnen, braeuchte ich also noch eine Sonderscript... Wer von Euch weiss, wie ich diese Probleme am Besten anfassen kann? Meinen herzlichen Dank im Voraus! Robert Ermers ********************************************************************** http://www.vandale.nl ********************************************************************** ### You are subscribed to vienna-pm-list as Rob Ermers http://www.fff.at/fff/vienna.pm/ From roland.bauer at fff.at Fri Sep 22 17:44:18 2000 From: roland.bauer at fff.at (Roland Bauer) Date: Thu Aug 5 00:23:38 2004 Subject: [vienna.pm] Anfaengerfrage References: <581773313ECAD21199300000F8FA73D3067B@matra.vandale.nl> Message-ID: <39CBE0C2.D9716ADE@fff.at> * * * vienna-pm-list * * * Hallo Rob > Liebe Perl-Mongers in Venedig, Knapp daneben: Wien :-) > Ich arbeite ?brigens in Linux. Ist in Perl meistens egal. > Ich stelle Euch die Probleme in einigen Schritten vor. Ich habe ein > Datenbestand das etwa so aussieht: [...] > Ich suche jetzt ein Perl-script, das vor dem Hauptwort eine Referenznummer > einschiebt, und zwar: > > Nummer 112 > Hauptwort Fisch > Uebersetzung vis > Beispeil Fische leben im Meer > UebersetzB. vissen leven in de zee Dieser Schritt ist eigentlich unnoetig, je nachdem, wie man's macht. > Fuer weitere Bearbeitungen (siehe Unten) wird es noetig sein diese Nummer > hinter die andere Daten schieben zu k?nnen: Je nachdem. > A. Verzeichnis von Hauptw?rtern: > Blume 324 > Fisch 112 > Kasten 456 > B. Verzeichnis von Uebersetzungen: > bloem Blume 324 > doos Kasten 456 > kist Kasten 456 > vis Fisch 112 > > C. Verzeichnis von W?rtern in den Beispielen: > ich (B) 22, 34, 98, 111, 675 > liebe (B) 98, 324 > Uhr (B) 23, 456 > Meer (B) 77, 112 > ... > > Eine weitere Komplikation - nichts ist einfach! - dabei ist das meine Datei > nich in der lateinischen Schrift ist, sondern in einer angepassten > Kyrillische Schrift, wo z.B. ? (=t) ? (=s) folgt. (Unser > tuerkisch-arabisches Lexikon wird ?brigens ins russische uebersetzt.) Um das > Verzeichnis richtig zu ordnen, braeuchte ich also noch eine Sonderscript... Diese Sortierfunktion ist nicht enthalten, meine Funktion sortiert nur unabhaengig von gro?/klein. Und es werden nicht alle Files sortiert. Aber das meiste funktioniert ... Hier ein erster Entwurf: ------------------------------- ENTWURF ----------------------------- #!/usr/bin/perl # Erzeugt verschiedene Wortlisten $VERSION = 0.1; use strict; open MITREF, ">mitref.txt" or die; # mit Referenznummer (unnoetig) open HAUPTW, ">hauptw.txt" or die; # unsortiert open UEBERS, ">uebers.txt" or die; # unsortiert open BEISP, ">beisp.txt" or die; my $i; # Referenznummer my %beisp; my $hw; # Hauptwort while () { chomp; if (/^Hauptwort\s+(.*)/) { $hw = $1; $i++; print MITREF "Nummer $i\n"; print HAUPTW "$hw $i\n"; } print UEBERS "$1 $hw $i\n" if /^Uebersetzung\s+(.*)/; if (/^(Beispiel|Beispeil)\s+(.*)/) { # wegen Tippfehler my @words = split /\s+/, $2; for my $word (@words) { # Value von Hash ist eine Referenz auf einen Array (die Refnummern) push @{$beisp{$word}}, $i; } } print MITREF "$_\n"; } for my $key (sort { lc $a cmp lc $b } keys %beisp) { print BEISP "$key (B) "; print BEISP join ", ", @{$beisp{$key}}; print BEISP "\n"; } __DATA__ Hauptwort Fisch Uebersetzung vis Beispeil Fische leben im Meer VON MIR ANGEFUEGT UebersetzB. vissen leven in de zee Hauptwort Blume Uebersetzung bloem Beispiel ich liebe Blumen VON MIR ANGEFUEGT UebersetzB. ik houd van bloemen Hauptwort Kasten Uebersetzung doos Synonym kist Beispiel er legte seine Uhr in den Kasten UebersetzB. hij legde zijn horloge in de doos -----------------------------ENDE---------------------------------- Vielleicht interessiert Dich auch die Mailingliste perl-kurs@topica.com ? Schoene Gruesse Roland ### You are subscribed to vienna-pm-list as Roland Bauer http://www.fff.at/fff/vienna.pm/ From robe at vandale.nl Mon Sep 25 03:05:09 2000 From: robe at vandale.nl (Rob Ermers) Date: Thu Aug 5 00:23:38 2004 Subject: [vienna.pm] Anfaengerfrage(2) Message-ID: <581773313ECAD21199300000F8FA73D30684@matra.vandale.nl> * * * vienna-pm-list * * * Liebe Freunde, Erst am vergangenen Freitag legte ich Euch ein Problem vor. Heute schon fand ich zwei Antworte in meinen Postkasten. Ich werde die vorgestellten L?sungen demn?chst ausprobieren. Ich halte Euch auf dem Laufenden. Habt meinen herzlichen Dank! Sch?ne Gr?sse, Robert Ermers [die Antwort von Philippe Guehring] Du bast einen Hash auf while () { my %h=(); chomp; if (/([^ ]+) (.*)/) { $h{$1}=$2; } } Naja, so ungef?hr in der Art halt. Und dann gibst du das Ding aus: print "Nummer $Nummer\n"; print "Hauptwort $h{Hauptwort}#$Nummer\n"; print "Uebersetzung $h{Uebersetzung}#$Nummer\n"; [die Antwort von Roland Bauer] > Ich suche jetzt ein Perl-script, das vor dem Hauptwort eine Referenznummer einschiebt, und zwar: > > Nummer 112 > Hauptwort Fisch > Uebersetzung vis > Beispeil Fische leben im Meer > UebersetzB. vissen leven in de zee [Roland Bauer] Dieser Schritt ist eigentlich unnoetig, je nachdem, wie man's macht. > Fuer weitere Bearbeitungen (siehe Unten) wird es noetig sein diese Nummer hinter die andere Daten schieben zu k?nnen: [Roland Bauer] Je nachdem. > A. Verzeichnis von Hauptw?rtern: > Blume 324 > Fisch 112 > Kasten 456 > B. Verzeichnis von Uebersetzungen: > bloem Blume 324 > doos Kasten 456 > kist Kasten 456 > vis Fisch 112 > > C. Verzeichnis von W?rtern in den Beispielen: > ich (B) 22, 34, 98, 111, 675 > liebe (B) 98, 324 > Uhr (B) 23, 456 > Meer (B) 77, 112 > ... > > Eine weitere Komplikation - nichts ist einfach! - dabei ist das meine Datei > nich in der lateinischen Schrift ist, sondern in einer angepassten > Kyrillische Schrift, wo z.B. ? (=t) ? (=s) folgt. (Unser > tuerkisch-arabisches Lexikon wird ?brigens ins russische uebersetzt.) Um das > Verzeichnis richtig zu ordnen, braeuchte ich also noch eine Sonderscript... [Roland Bauer] Diese Sortierfunktion ist nicht enthalten, meine Funktion sortiert nur unabhaengig von gro?/klein. Und es werden nicht alle Files sortiert. Aber das meiste funktioniert ... [Roland Bauer] Hier ein erster Entwurf: ------------------------------- ENTWURF ----------------------------- #!/usr/bin/perl # Erzeugt verschiedene Wortlisten $VERSION = 0.1; use strict; open MITREF, ">mitref.txt" or die; # mit Referenznummer (unnoetig) open HAUPTW, ">hauptw.txt" or die; # unsortiert open UEBERS, ">uebers.txt" or die; # unsortiert open BEISP, ">beisp.txt" or die; my $i; # Referenznummer my %beisp; my $hw; # Hauptwort while () { chomp; if (/^Hauptwort\s+(.*)/) { $hw = $1; $i++; print MITREF "Nummer $i\n"; print HAUPTW "$hw $i\n"; } print UEBERS "$1 $hw $i\n" if /^Uebersetzung\s+(.*)/; if (/^(Beispiel|Beispeil)\s+(.*)/) { # wegen Tippfehler my @words = split /\s+/, $2; for my $word (@words) { # Value von Hash ist eine Referenz auf einen Array (die Refnummern) push @{$beisp{$word}}, $i; } } print MITREF "$_\n"; } for my $key (sort { lc $a cmp lc $b } keys %beisp) { print BEISP "$key (B) "; print BEISP join ", ", @{$beisp{$key}}; print BEISP "\n"; } __DATA__ Hauptwort Fisch Uebersetzung vis Beispeil Fische leben im Meer VON MIR ANGEFUEGT UebersetzB. vissen leven in de zee Hauptwort Blume Uebersetzung bloem Beispiel ich liebe Blumen VON MIR ANGEFUEGT UebersetzB. ik houd van bloemen Hauptwort Kasten Uebersetzung doos Synonym kist Beispiel er legte seine Uhr in den Kasten UebersetzB. hij legde zijn horloge in de doos -----------------------------ENDE---------------------------------- Vielleicht interessiert Dich auch die Mailingliste perl-kurs@topica.com ? ********************************************************************** http://www.vandale.nl ********************************************************************** ### You are subscribed to vienna-pm-list as Rob Ermers http://www.fff.at/fff/vienna.pm/ From robe at vandale.nl Wed Sep 27 08:38:01 2000 From: robe at vandale.nl (Rob Ermers) Date: Thu Aug 5 00:23:38 2004 Subject: [vienna.pm] Anfaengerfrage Message-ID: <581773313ECAD21199300000F8FA73D3068D@matra.vandale.nl> * * * vienna-pm-list * * * Hallo Freunde, Ich will Roland Bauer gerne nochmals meinen herzlichen Dank aussprechen f?r seinen "Entwurf", der genau so funktioniert wie ich es mir gehofft hatte. Einfach Klasse! Ich frage mich jetzt noch wie ich das mit dem Sortieren im Griff kriegen kann. Weil der Text in kyrillisch ist, ist es in meinen Daten vom ASCII-Standpunkt aus gesehen ein Chaos: a (= kyrr. f) folgt f (=kyrr. a), c (= kyrr. s) folgt p (=kyrr. z), usw. Kann ich etwas mit den vielen Optionen bei "sort"? Oder muss ich irgendeine LC-Option ?ndern, d.h. teilweise meine eigene Locale basteln? Oder kann man am besten Perl 'was sch?nes ins Ohr fl?stern? Schoene Gruesse, Robert Ermers ********************************************************************** http://www.vandale.nl ********************************************************************** ### You are subscribed to vienna-pm-list as Rob Ermers http://www.fff.at/fff/vienna.pm/ From hjp at wsr.ac.at Wed Sep 27 10:58:17 2000 From: hjp at wsr.ac.at (Peter J . Holzer) Date: Thu Aug 5 00:23:38 2004 Subject: Sortieren (was: [vienna.pm] Anfaengerfrage) In-Reply-To: <581773313ECAD21199300000F8FA73D3068D@matra.vandale.nl>; from Rob Ermers on Wed, Sep 27, 2000 at 03:38:01PM +0200 References: <581773313ECAD21199300000F8FA73D3068D@matra.vandale.nl> Message-ID: <20000927175817.K20444@wsr.ac.at> On 2000-09-27 15:38:01 +0200, Rob Ermers wrote: > * * * vienna-pm-list * * * > > > Hallo Freunde, > > Ich will Roland Bauer gerne nochmals meinen herzlichen Dank aussprechen f?r > seinen "Entwurf", der genau so funktioniert wie ich es mir gehofft hatte. > Einfach Klasse! > > Ich frage mich jetzt noch wie ich das mit dem Sortieren im Griff kriegen > kann. Weil der Text in kyrillisch ist, ist es in meinen Daten vom > ASCII-Standpunkt aus gesehen ein Chaos: a (= kyrr. f) folgt f (=kyrr. a), c > (= kyrr. s) folgt p (=kyrr. z), usw. > Kann ich etwas mit den vielen Optionen bei "sort"? Oder muss ich irgendeine > LC-Option ?ndern, d.h. teilweise meine eigene Locale basteln? Oder kann man > am besten Perl 'was sch?nes ins Ohr fl?stern? Theoretisch: use locale; irgendwo am Anfang des Programms und alles sollte automatisch gehen, wenn Dein System eine passende Locale hat und Perl Locales unterst?tzt. Praktisch hat das bei mir noch nie geklappt (ist aber einige Zeit her, da? es zuletzt probiert habe), sicherer bist Du wahrscheinlich unterwegs, wenn Du das von Hand machst: @a = sort { my $aa = $a; $aa =~ tr/???/aou/; $aa =~ s/?/ss/; my $bb = $b; $bb =~ tr/???/aou/; $bb =~ s/?/ss/; return $aa cmp $bb } @a; w?rde z.B. das Array @a so sortieren, als ob alle Umlaute durch die entsprechenden einfachen Umlaute und ? durch ss ersetzt w?ren. Der Trick besteht darin, aus jedem String einen anderen String zu erzeugen, und diesen zweiten String f?r den gr??er/gleich/kleiner-Vergleich heranzuziehen. (Hah, und jetzt komme ich doch dazu, die Schwartzian Transform aus dem ?rmel zu sch?tteln :-) Auf den ersten Blick f?llt auf, da? hier die gleichen Transformationen auf beide Strings angewendet werden. Wenn man weiterhin wei?, da? Sortieralgorithmen einen mehr als linearen Aufwand haben (i.A. O(n log(n))), k?nnte man auf die Idee kommen, da? das ein bi?chen ineffizient ist, diese Transformationen f?r jeden Vergleich durchzuf?hren, und da? es sinnvoller w?re, diese Transformation einmal f?r jedes Element durchzuf?hren, bevor man sortiert. Auf die Idee ist Randall Schwartz nat?rlich auch schon gekommen, und er hat etwas erfunden, was man die Schwartzian transform nennt: @a = map { $_->[0] } sort { $a->[1] cmp $b->[1] } map { [$_, do { my $x = $_; $x =~ tr/???/aou/; $x =~ s/?/ss/; $x; } ] } @a; Da das ganze ein relativ komplizierter Ausdruck ist und trotz meiner IMHO etwas besseren Einr?ckung als der ?blichen etwas un?bersichtlich, spalte ich es in mehrere Schritte auf: @a1 = map { [$_, do { my $x = $_; $x =~ tr/???/aou/; $x =~ s/?/ss/; $x; } ] } @a; @a2 = sort { $a->[1] cmp $b->[1] } @a1; @a = map { $_->[0] } @a2; Im ersten Schritt wird ein neues Array @a1 aus @a erzeugt, wobei jedes Element durch das Ergebnis des Blocks in geschwungenen Klammern ersetzt wird. Das ist bei der Schwartzian Transform immer eine Referenz auf eine Liste aus zwei Elementen (Erzeugt durch die eckigen klammern). Das erste Element ist das unver?nderte Element aus dem zu sortierenden Array (also $_), das zweite ist das transformierte Element, nach dem dann schlu?endlich sortiert werden soll. Das kann ein beliebiger Ausdruck sein, in dem $_ vorkommt, hier ist ein ein ganzer Block do { my $x = $_; $x =~ tr/???/aou/; $x =~ s/?/ss/; $x; } der die notwendigen Transformationen durchf?hrt (man k?nnte statt dessen auch eine sub definieren und hier aufrufen). Wenn @a den Inhalt: ( '?rzte', 'ast', 'arbeit' ) hat, dann hat danach @a1 den Inhalt ( ['?rzte', 'arzte'], ['ast', 'ast'], ['arbeit', 'arbeit'] ) Im zweiten Schritt wird dann sortiert, wobei aus jeder Teilliste immer das zweite Element ($a->[1] bzw. $b->[1]) alphabetisch verglichen wird. Ergebis: ( ['arbeit', 'arbeit'], ['?rzte', 'arzte'], ['ast', 'ast'] ) (da "arzte" nach "arbeit" aber vor "ast" im Alphabet kommt). Im letzten Schritt wird dann von jeder Teilliste wieder wieder das erste Element ($_->[0]) herausgekletzelt, und die entstehende Liste @a zugewiesen, so da? schlu?endlich in @a steht: ( 'arbeit', '?rzte', 'ast' ) ?bungsaufgaben (f?r die perl-kurs-Liste :-): 1) Erweiterung auf Gro?buchstaben. 2) Implementation der neuen (seit zehn Jahren oder so) ?sterreichischen Telefonbuchsortierreihenfolge ('?' ist dabei ein eigener Buchstabe zwischen 'a' und 'b'). 3) Implementation der alten ?sterreichischen Telefonbuchsortierreihenfolge ('?' wird dabei gleich sortiert wie 'a', es sei denn, zwei W?rter w?ren dann v?llig gleich ("?pfel" und "Apfel"), dann wird das Wort mit dem Umlaut nach dem Wort ohne Umlaut sortiert). Nachlese: http://www.5sigma.com/perl/schwtr.html http://www.hpl.hp.com/personal/Larry_Rosler/sort/ hp PS: Bitte aussagekr?ftigere Subjects: "Einsteigerfrage" sagt nicht allzuviel aus. -- _ | Peter J. Holzer | Any setuid root program that does an |_|_) | Sysadmin WSR / LUGA | exec() somewhere is just a less | | | hjp@wsr.ac.at | user friendly version of su. __/ | http://www.hjp.at/ | -- Olaf Kirch on bugtraq 2000-08-07 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 371 bytes Desc: not available Url : http://mail.pm.org/archives/vienna-pm/attachments/20000927/991e6feb/attachment.bin From erny at emrich.at Fri Sep 29 08:08:46 2000 From: erny at emrich.at (Gudrun ERNY) Date: Thu Aug 5 00:23:38 2004 Subject: [vienna.pm] perl-job References: <39C87104.11773647@fff.at> Message-ID: <39D4945E.888A5AA8@emrich.at> * * * vienna-pm-list * * * Hallo, habe das beim Surfen entdeckt: Chello sucht einen Perl-Programmierer. http://about.chello.at/jobs/austria.html Gudrun ### You are subscribed to vienna-pm-list as Gudrun ERNY http://www.fff.at/fff/vienna.pm/