From hjp-vienna-pm-list at hjp.at Thu Sep 9 02:49:17 2004 From: hjp-vienna-pm-list at hjp.at (Peter J. Holzer) Date: Thu Sep 9 02:49:23 2004 Subject: [Vienna-pm] =?iso-8859-1?q?Verbl=FCffendes?= Zeitverhalten Message-ID: <20040909074917.GA14993@teal.hjp.at> Ich habe gerade das Problem, dass ich in ein Hash nicht mehr als n Elemente einf?llen m?chte, alle weiteren sollen einfach ignoriert werden. Zu diesem Zweck habe ich ein paar Benchmarks gemacht, um herauszufinden, wie sich $a = scalar(%hash) und $a = scalar(keys %hash) f?r verschiedene Hashgr??en verhalten. F?r mich verbl?ffendes Ergebnis: Letzters ist deutlich schneller (0.35 ?s) und hat absolut konstante Laufzeit, ersteres braucht nicht nur l?nger (1.5 bis 1.8 ?s f?r Hashes mit 1000 .. 100_000 Elementen) sondern wird mit zunehmender Hashgr??e auch langsamer. Der scheinbar einfachere Ausdruck ist in der Abarbeitung also aufw?ndiger (ich sch?tze, dass da das Hash tats?chlich erst in ein Array umgewandelt wird, dessen Gr??e dann bestimmt wird), der kompliziertere aber logischere Ausdruck hat auch noch den Vorteil, schneller zu sein. hp -- _ | Peter J. Holzer | Je h?her der Norden, desto weniger wird |_|_) | Sysadmin WSR | ?berhaupt gesprochen, also auch kein Dialekt. | | | hjp@hjp.at | Hallig Gr?de ist fast g?nzlich dialektfrei. __/ | http://www.hjp.at/ | -- Hannes Petersen in desd -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available Url : http://mail.pm.org/pipermail/vienna-pm/attachments/20040909/142ba4fc/attachment.bin From wolfgang.laun at alcatel.at Thu Sep 9 06:04:29 2004 From: wolfgang.laun at alcatel.at (LAUN Wolfgang) Date: Thu Sep 9 06:07:20 2004 Subject: =?iso-8859-1?Q?RE=3A_=5BVienna-pm=5D_Verbl=FCffendes_Zeitverha?= =?iso-8859-1?Q?lten?= Message-ID: > -----Original Message----- > From: Peter J. Holzer [mailto:hjp-vienna-pm-list@hjp.at] > Sent: Thursday, September 09, 2004 9:49 AM > To: vienna-pm@mail.pm.org > Subject: [Vienna-pm] Verbl?ffendes Zeitverhalten > > Ich habe gerade das Problem, dass ich in ein Hash nicht mehr als n > Elemente einf?llen m?chte, alle weiteren sollen einfach ignoriert > werden. Zu diesem Zweck habe ich ein paar Benchmarks gemacht, um > herauszufinden, wie sich > > $a = scalar(%hash) > > und > > $a = scalar(keys %hash) > > f?r verschiedene Hashgr??en verhalten. > scalar(%hash): "... the value returned is a string consisting of the number of buckets and the number of allocated buckets..." Daraus ist die Anzahl der Elemente nicht bestimmbar. mfg WLaun _______________________________________________ > Vienna-pm mailing list > Vienna-pm@mail.pm.org > http://mail.pm.org/mailman/listinfo/vienna-pm > From domm at zsi.at Fri Sep 10 04:13:07 2004 From: domm at zsi.at (Thomas Klausner) Date: Fri Sep 10 04:06:02 2004 Subject: [Vienna-pm] Powered by Perl Message-ID: <20040910091307.GC23274@domm2.zsi.at> Hi! Ich hatte vor einiger Zeit, inspiriert hiervon: http://perltraining.com.au/whyperl.html die Idee, eine Liste von Projekten (im weitesten Sinn) zu machen, die Perl verwenden. Das primaere Ziel ist aufzuzeigen, wo, von wem und zu welchem Zweck Perl eingesetzt wird, u.a. auch um dem etwas seltsamen Image, das Perl in machen Kreisen hat, entgegenzuwirken. Im Prinzip sollte das ganze so aehnlich sein, wie die Perl Success Stories http://perl.oreilly.com/news/success_stories.html nur einerseits informeller und andererseits klarer strukturiert. Meine Ursprungsidee war, auf vienna.om.org eine Seite zu machen, wo jedeR div Projekte einfach auflisten kann. Inzwischen denke ich eher an eine kleine Web-Datenbank, wo man die Projekte in ein kleines Formular eintragen kann, mit in etwa diesen Feldern: * Name des Projekts/der Software/o.ae * Auftraggeber/Betreiber/o.ae. * kurze Beschreibung * URL (wenn's Sinn macht) * ev irgendwelche Kategorien (Web-App, Sysadmin, etc) (wobei das Kategorien-Ausdenken recht muehsam sein koennte) * ev eine erweiterbare Checkbox-Liste mit "verwendeten Technologien" oder so, zb: mod_perl, Class::DBI, PAR, Template::Toolkit * ev Kontakt-Email * ev sowas wie "Groesse" (klein/mittel/gross, wobei klein zB nur intern/von sehr wenigen verwendet wird, mittel von einigen und gross von sehr vielen Leuten) Ein paar Beispieldaten von mir: CMS fuer Oe1 Oe1/ORF Ein recht umfangreiches CMS fuer die Website des Radiosenders Oe1; Webfrontend fuer Redaktion, Interfaces zu div anderen, bereits existierenden Systemen im ORF http://oe1.orf.at Groesse: gross --- Website www.pakte.at ZSI http://www.zsi.at CMS fuer die Website der Territorialen Beschaeftigungspakte Oesterreich, inkl einem Dokumentationstool fuer eine kleine Benutzergruppe (Aktuere der Pakte) http://www.pakte.at Groesse: mittel --- Reservierungstool fuer ZSI-Mitarbeiter ZSI Webbasiertes Tool zum Reservieren div. Resourcen (Beamer, Konferenzzimmer, etc); nur fuer ZSI-MitarbeiterInnen Groesse: klein Was meint ihr denn so dazu? Macht sowas Sinn? Sollen wir sowas basteln? Wer mag mitmachen? Ev koennte ich auf der YAPC einen Lightning Talk drueber machen, wenn Interesse besteht... -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/} From alfie at ist.org Fri Sep 10 04:22:33 2004 From: alfie at ist.org (Gerfried Fuchs) Date: Fri Sep 10 04:23:02 2004 Subject: [Vienna-pm] Powered by Perl In-Reply-To: <20040910091307.GC23274@domm2.zsi.at> References: <20040910091307.GC23274@domm2.zsi.at> Message-ID: <2004-09-10_11.22.28@alfie.ist.org> * Thomas Klausner [2004-09-10 11:13]: > Das primaere Ziel ist aufzuzeigen, wo, von wem und zu welchem Zweck Perl > eingesetzt wird, u.a. auch um dem etwas seltsamen Image, das Perl in machen > Kreisen hat, entgegenzuwirken. Ja, macht auf jeden Fall Sinn. Ich w?rde dann gleich einwerfen. > Inzwischen denke ich eher an eine kleine Web-Datenbank, wo man die Projekte > in ein kleines Formular eintragen kann, mit in etwa diesen Feldern: Ja, ist sicher sinnvoller. > Was meint ihr denn so dazu? Macht sowas Sinn? Sollen wir sowas basteln? Wer > mag mitmachen? W?rde mitmachen, wenn es HTML::Mason wird ,-P Bis dann, Alfie -- On Mon, Mar 01, 2004 at 10:22:16PM -0500, Aaron M. Ucko wrote: > Yeah, cities.dat dates from October ...and you know a _lot_ of cities have been moving around since then! ;-) -- Steinar H. Gunderson, <20040302120355.GC9393@uio.no> -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: Digital signature Url : http://mail.pm.org/pipermail/vienna-pm/attachments/20040910/32e87be2/attachment.bin From lt at toetsch.at Fri Sep 10 04:15:07 2004 From: lt at toetsch.at (Leopold Toetsch) Date: Fri Sep 10 04:59:51 2004 Subject: [Vienna-pm] =?ISO-8859-1?Q?Verbl=FCffendes_Zeitverhalten?= In-Reply-To: <20040909074917.GA14993@teal.hjp.at> References: <20040909074917.GA14993@teal.hjp.at> Message-ID: <4141709B.9010509@toetsch.at> Peter J. Holzer wrote: > > $a = scalar(%hash) > $a = scalar(keys %hash) "keys" im scalar Context scheint eine Abk?rzung zu beinhalten, soweit ich Perl_do_kv() lesen kann. Bei ersterem wird wahrscheinlich eine Liste von Key/Value Paaren erzeugt und von der die halbe L?nge retourniert. Ohne Gewa?ehr - f?r Genaueres m??te man wohl durch ein Debug-Build tracen. leo From lt at toetsch.at Fri Sep 10 05:13:06 2004 From: lt at toetsch.at (Leopold Toetsch) Date: Fri Sep 10 05:45:23 2004 Subject: [Vienna-pm] Powered by Perl In-Reply-To: <20040910091307.GC23274@domm2.zsi.at> References: <20040910091307.GC23274@domm2.zsi.at> Message-ID: <41417E32.4030003@toetsch.at> Thomas Klausner wrote: > Hi! > Das primaere Ziel ist aufzuzeigen, wo, von wem und zu welchem Zweck Perl > eingesetzt wird, u.a. auch um dem etwas seltsamen Image, das Perl in machen > Kreisen hat, entgegenzuwirken. Ich bin immer noch daf?r ;) > Ev koennte ich auf der YAPC einen Lightning Talk drueber machen, wenn > Interesse besteht... Gute Idee, leo From wilhelm.nagy at umweltbundesamt.at Fri Sep 10 05:51:35 2004 From: wilhelm.nagy at umweltbundesamt.at (Nagy Wilhelm) Date: Fri Sep 10 05:51:50 2004 Subject: AW: [Vienna-pm] Powered by Perl Message-ID: <6D5BF24847A0A44AB725899D3CE6CB6902ADADE7@pcmail4.ubavie.gv.at> Hallo Ihr... Ich finde die Idee AUSGEZEICHNET. Vielleicht ist eine DB fuer den Anfang eh' schon z'viel. Ein HTML Template wuerde reichen. Ich habe mal versucht ein meiner Projekt in die vorgeschlagene struktur zu bringen: New Document
Name des Projekts/der Software/ ?HELMUT
Auftraggeber/Betreiber Nieder?sterreichische Pfadfinder und Pfadfinderinnen
kurze Beschreibung Im Rahmen eines Internationalen Jugendlager 4anaund mit über 2.500 Teilnehmern wurde eine Software für den Bereich Finanz/Verwaltung erstellt. Dies Sofware verwaltete sowohl Teilnehmer- als auch Mitarbeiterdaten.
Nähere : Informationen
Die Software ist für die Verwendung im Intranet geschrieben und hat keine Verbindung in die öffentlichkeit.
URL Interne Software
Kategorien Administration, Finanzverwaltung
Verwendete Technologie Module:
CGI, DBI/DBD, Spreadsheet::WriteExcel, Spreadsheet::ParseExcel, Tk
einge Klassenbibliothek Webserver, mySQL
Kontakt Wilhelm Nagy
Nutzen Benutzerkreis: 6 Personen
---------------------------- 8< --------------------------- Ich habe mich an den Strukturvorschlag im groben gehalten nur bei der groesse habe ich immer meine probleme. Wenn eine software eine groesse hat, wie breit ist sie dann? Ich habe eine software geschrieben, welche letztlich nur von einer person verwendet wird. Diese aber verwaltet das gesamt Projektkontrolling einer 300-Mitarbeiter Firma. Also habe ich den tag in Nutzen umgewandelt. Lg \^/ili From k at franz.ak.mind.de Fri Sep 10 06:09:51 2004 From: k at franz.ak.mind.de (Andreas J Koenig) Date: Fri Sep 10 06:12:53 2004 Subject: AW: [Vienna-pm] Powered by Perl In-Reply-To: <6D5BF24847A0A44AB725899D3CE6CB6902ADADE7@pcmail4.ubavie.gv.at> (Nagy Wilhelm's message of "Fri, 10 Sep 2004 12:51:35 +0200") References: <6D5BF24847A0A44AB725899D3CE6CB6902ADADE7@pcmail4.ubavie.gv.at> Message-ID: <878ybiqt1c.fsf@franz.ak.mind.de> >>>>> On Fri, 10 Sep 2004 12:51:35 +0200, Nagy Wilhelm said: > Hallo Ihr... > Ich finde die Idee AUSGEZEICHNET. Ich auch! Aber ein Datum scheint mir unabdingbar: Expiration. Mein Vorschlag: Wer einen Eintrag macht, wird nach einem Jahr aufgefordert, den Eintrag zu aktualisieren, andernfalls er geloescht wird. Nur so ist die Ansammlung von Staub zu vermeiden. Es aendern sich Email Adressen, es aendern sich http Adressen und es aendert sich die Software, die hinter einer Website laeuft. Something to keep in mind, -- andreas From hjp at wsr.ac.at Fri Sep 10 08:55:29 2004 From: hjp at wsr.ac.at (Peter J. Holzer) Date: Fri Sep 10 08:55:38 2004 Subject: [Vienna-pm] =?iso-8859-1?Q?Verbl=FCffe?= =?iso-8859-1?Q?ndes?= Zeitverhalten In-Reply-To: <4141709B.9010509@toetsch.at> References: <20040909074917.GA14993@teal.hjp.at> <4141709B.9010509@toetsch.at> Message-ID: <20040910135529.GI15623@wsr.ac.at> On 2004-09-10 11:15:07 +0200, Leopold Toetsch wrote: > Peter J. Holzer wrote: > > > >$a = scalar(%hash) > >$a = scalar(keys %hash) > > "keys" im scalar Context scheint eine Abk?rzung zu beinhalten, soweit > ich Perl_do_kv() lesen kann. Ja, das habe ich nach den Ergebnissen vermutet (war aber zu faul, im Source nachzulesen). > Bei ersterem wird wahrscheinlich eine Liste von Key/Value Paaren > erzeugt und von der die halbe L?nge retourniert. Nein, das hat Wolfgang eh schon aufgekl?rt. Ist ein String der die Anzahl der ben?tzten/gesamten Buckets beinhaltet. Und nachdem er das erw?hnt hat, kann ich mich daran erinnern, dass ich dar?ber schon einmal gestolpert bin. Die Gesamtanzahl der Buckets scheint ?brigens die Anzahl der Eintr?ge gerundet auf die n?chste Zweierpotenz zu sein: 1000: 634/1024 2000: 1280/2048 3000: 2139/4096 4000: 2573/4096 5000: 3733/8192 8000: 5094/8192 9000: 6853/16384 16000: 10233/16384 17000: 13192/32768 32000: 20347/32768 33000: 25830/65536 65000: 41195/65536 66000: 51848/131072 F?r meine Zwecke h?tte das also auch gereicht (es ist v?llig wurscht, ob ich nach 500 oder 512 Token abbreche, es sollten nur nicht 25000 werden). Aber da der exakte Wert eh schneller zu bestimmen ist, nehme ich nat?rlich den. hp -- _ | Peter J. Holzer | Shooting the users in the foot is bad. |_|_) | Sysadmin WSR / LUGA | Giving them a gun isn't. | | | hjp@wsr.ac.at | -- Gordon Schumacher, __/ | http://www.hjp.at/ | mozilla bug #84128 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 388 bytes Desc: not available Url : http://mail.pm.org/pipermail/vienna-pm/attachments/20040910/00d07f1b/attachment.bin From hjp at wsr.ac.at Fri Sep 10 08:59:15 2004 From: hjp at wsr.ac.at (Peter J. Holzer) Date: Fri Sep 10 08:59:18 2004 Subject: AW: [Vienna-pm] Powered by Perl In-Reply-To: <878ybiqt1c.fsf@franz.ak.mind.de> References: <6D5BF24847A0A44AB725899D3CE6CB6902ADADE7@pcmail4.ubavie.gv.at> <878ybiqt1c.fsf@franz.ak.mind.de> Message-ID: <20040910135915.GJ15623@wsr.ac.at> On 2004-09-10 13:09:51 +0200, Andreas J Koenig wrote: > >>>>> On Fri, 10 Sep 2004 12:51:35 +0200, Nagy Wilhelm said: > > > Hallo Ihr... > > Ich finde die Idee AUSGEZEICHNET. > > Ich auch! TK! > Aber ein Datum scheint mir unabdingbar: Expiration. > > Mein Vorschlag: Wer einen Eintrag macht, wird nach einem Jahr > aufgefordert, den Eintrag zu aktualisieren, [...] > und es aendert sich die Software, die hinter einer Website laeuft. Stimmt. Ist bl?d, wenn man einem Link auf einer Perl-Webpage folgt und dann einen Java-Stackbacktrace bekommt. Andererseits k?nnte man dann sagen, mit Perl w?r das nicht passiert :-) hp -- _ | Peter J. Holzer | Shooting the users in the foot is bad. |_|_) | Sysadmin WSR / LUGA | Giving them a gun isn't. | | | hjp@wsr.ac.at | -- Gordon Schumacher, __/ | http://www.hjp.at/ | mozilla bug #84128 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 388 bytes Desc: not available Url : http://mail.pm.org/pipermail/vienna-pm/attachments/20040910/7d0ad151/attachment.bin From domm at zsi.at Tue Sep 21 05:30:52 2004 From: domm at zsi.at (Thomas Klausner) Date: Tue Sep 21 05:22:45 2004 Subject: [Vienna-pm] Powered by Perl In-Reply-To: <20040910091307.GC23274@domm2.zsi.at> References: <20040910091307.GC23274@domm2.zsi.at> Message-ID: <20040921103052.GG19002@domm2.zsi.at> Hi! Ich hab auf der YAPC einen Lightning Talk gemacht, Slides gibts hier: http://domm.zsi.at/talks/lightning_talks/powered_by_perl/ Der Talk ist IMO ganz gut angekommen, einige Leute haben nachher gemeint, es sei eine gute Idee etc. zZ hab ich grad nicht so viel Zeit, aber bald wird es eine erste Version geben. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/} From domm at zsi.at Tue Sep 21 05:32:33 2004 From: domm at zsi.at (Thomas Klausner) Date: Tue Sep 21 05:24:26 2004 Subject: [Vienna-pm] London Perl Workshop Message-ID: <20040921103233.GH19002@domm2.zsi.at> Hi! http://london.pm.org/lpw/ The London Perl Workshop is an inexpensive one-day conference in central London, UK. It will be held on Saturday the 11th of December, 2004. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/} From domm at zsi.at Tue Sep 21 05:33:55 2004 From: domm at zsi.at (Thomas Klausner) Date: Tue Sep 21 05:25:47 2004 Subject: [Vienna-pm] Italian Code Jam Message-ID: <20040921103355.GI19002@domm2.zsi.at> Hi! Das koennte IMO sehr interessant sein, u.a. wegen Larry Wall und Allsion Randall. Ist auch nicht sehr weit weg... http://www.codejam.org/index.en.html What is Italian Code Jam ICJ is an international meeting with some of the most famous known developers in the open source and free software world, organized by FerraraLUG, ErLUG, ParmaLUG, PiacenzaLUG, RELug and Perl Mongers Italia in collaboration with Engineering Department of University of Ferrara. This event will take place the full day of October 9th 2004 from 9am to 7pm in the center of Engineering Department of University of Ferrara. Everyone is free to join us, entrance is free. Speakers Some of the speakers include: Andrea Arcangeli, Moshe Bar, Francesco Ciriaci, Dave Cross, Alex Martelli, Allison Randall, Michele Simionato, Simo Sorce and Larry Wall. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/} From domm at zsi.at Tue Sep 21 05:40:36 2004 From: domm at zsi.at (Thomas Klausner) Date: Tue Sep 21 05:32:29 2004 Subject: [Vienna-pm] Besuch aus London Message-ID: <20040921104036.GJ19002@domm2.zsi.at> Hi! Kake L Pugh, Bob Walker und Billy Abbot, die alle an Openguides arbeiten, kommen vom 21. bis 24.10. nach Wien und wuerde sich gerne mit anderen Openguides/Perl/Leuten treffen. Anscheinend hat Bob am 22. Geburtstag, d.h. vielleicht waere das der passende Tag/Abend, um ein wenig durch Wien zu ziehen & zu feiern. Am 23. kann ich selber ev nicht, weil da mein Sohn Geburtstag hat (andererseits feiert der normalerweise nicht bis in die spaeten Abendstunden :-) Ich wuerde also vorschlagen, wir machen am 22. oder 23. ein Social Meeting, genaues Datum und Ort ist noch auszuhandeln. BTW, sie suchen auch nach Hinweisen zu diesem Restaurant, das mir aber nix sagt: > It was mentioned on a random mailing list - an underground restaurant with > little booths being hollowed sections of wall. The guy who posted about it > hasn't mailed me back.. Kennt das jemand? -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/} From domm at zsi.at Tue Sep 21 14:02:54 2004 From: domm at zsi.at (Thomas Klausner) Date: Tue Sep 21 13:54:46 2004 Subject: [Vienna-pm] [barbara@oreilly.de: Newsletter des O'Reilly UserGroup-Programms, Sept/04 (nachgereicht f?r Anmeldungen ab dem 14.09.04)] Message-ID: <20040921190253.GA7203@domm2.zsi.at> Hi! Wir sind jetzt auch Mitglied der Usergruppe von O'Reilly Deutschland... ----- Forwarded message from Barbara Weiss ----- Date: Tue, 21 Sep 2004 15:05:00 +0200 To: barbara@oreilly.de From: Barbara Weiss Subject: Newsletter des O'Reilly UserGroup-Programms, Sept/04 (nachgereicht f?r Anmeldungen ab dem 14.09.04) ========================================================== O'Reilly UserGroup News -- f?r UserGroup-Vertreter September 2004 ========================================================== Katalog -------- Unser neuer Katalog ist erschienen und Sie erhalten die von Ihnen gew?nschte St?ckzahl in den n?chsten Tagen. Beachten Sie bitte: Dieser Katalog stellt das gesamte deutsche Verlagsprogramm vor, aber nur ausgew?hlte englischsprachige Neuerscheinungen. Das komplette englische Programm finden Sie wie immer unter www.oreilly.de. Der Katalog erscheint zuk?nftig 3 x j?hrlich. Den Katalog gibt es auch zum Download unter ftp://ftp.oreilly.de/pub/katalog/katalog_herbst_2004.pdf Rezensionsexemplare --------------------- Wir stellen Ihnen und Ihrer UserGroup gerne Exemplare unsere B?cher zur Besprechung zur Verf?gung. Eine Auswahl der Neuerscheinungen finden Sie anbei, Sie k?nnen nat?rlich auch andere Titel aus Ihrem Interessensgebiet bestellen. Fordern Sie B?cher bitte formlos per E-Mail an (ug@oreilly.de), nennen Sie bitte die ISBN und die gew?nschte Lieferanschrift. Downloads ---------- Sie k?nnen Probekapitel, Inhaltsverzeichnisse usw. unserer B?cher, die auf www.oreilly.de zur Verf?gung stehen, gerne in Ihre Website einbinden. Kontakt -------- Sie haben Feedback, W?nsche und Anregungen? Wir freuen uns, von Ihnen zu h?ren. E-Mail: ug@oreilly.de Diese Informationen k?nnen Sie gerne ?ber Ihre Mailingliste posten: ================================================================ O'Reilly UserGroup News -- f?r UserGroup-Mitglieder September 2004 ================================================================ ---------------------------------------------------------------- B?cher zur Besprechung ---------------------------------------------------------------- Neuerscheinungen - Linux - kurz & gut - sendmail - kurz & gut - SSH - kurz & gut - Linux iptables Pocket Reference - Understanding Open Source and Free Software Licencing Bereits erschienen - BSD Hacks - OpenOffice.org Writer - SpamAssassin - Building the Perfect PC ---------------------------------------------------------------- Veranstaltungen ---------------------------------------------------------------- - siehe auch http://www.oreilly.de/messen/ 22.-24.09., Open Office.org Konferenz in Berlin Mehr unter http://marketing.openoffice.org/conference/ 18.-22.10. Systems in M?nchen. Unsere B?cher werden von der Versandbuchhandlung Haifisch und dem Bookshop eMedia vor Ort pr?sentiert. 29. - 31.10. EuroBSDCon in Karlsruhe Die Autorin Dru Lavigne von "BSD Hacks" einen Vortrag halten. Mehr unter http://www.eurobsdcon2004.de/ ---------------------------------------------------------------- Kurzbeschreibungen der neuen B?cher ---------------------------------------------------------------- - Linux - kurz & gut ===================== Daniel J. Barrett Deutsche ?bersetzung von Torsten Wilhelm 1. Auflage September 2004 ISBN 3-89721-501-2 208 Seiten, EUR 9.90 Ohne die Kommandozeile kann ein echter Linuxer nicht leben. Die grafischen Linux-Benutzeroberfl?chen m?gen zwar freundlicher und angenehm intuitiv sein. Aber ganz ehrlich: Viele Aufgaben lassen sich mit den klassischen Befehlen einfach eleganter und kompakter l?sen. Und mit Linux - kurz & gut erhalten Sie nicht nur einen leichten Einstieg in die Arbeit mit der Kommandozeile, sondern k?nnen jederzeit die wichtigsten Befehle und Optionen nachschlagen, die Sie im Alltag brauchen. Eine ausf?hrliche Beschreibung finden Sie hier: http://www.oreilly.de/catalog/linuxpgger/desc.html - sendmail - kurz & gut, 2. Auflage ==================================== Bryan Costales, Eric Allman & Kathrin & Conny Lichtenberg 2. Auflage August 2004 ISBN 3-89721-502-0 116 Seiten, EUR 8.00 sendmail ist nach wie vor weit verbreitet, seine Komplexit?t aber auch nach wie vor gef?rchtet. sendmail - kurz & gut gibt einen kompakten ?berblick ?ber alle wichtigen Befehle, Optionen und Makro-Definitionen. F?r die zweite Auflage wurde es komplett aktualisiert und behandelt nun die sendmail-Version 8.12. Eine ausf?hrliche Beschreibung finden Sie hier: http://www.oreilly.de/catalog/sendmail2ger/desc.html - SSH - kurz & gut ==================== Sven Riedel 1. Auflage 2004 ISBN 3-89721-269-2 156 Seiten, EUR 9.90 Das Netzprotokoll SSH (Secure Shell) ist eine verbreitete, robuste, zuverl?ssige und kosteng?nstige L?sung f?r zahlreiche Probleme der Netzwerksicherheit. Es sichert den Anmeldevorgang auf entfernten Systemen und den Dateitransfer zwischen verschiedenen Rechnern, erm?glicht die Erzeugung gesch?tzter ?Tunnel? sowie die gesicherte Ausf?hrung von Prozessen auf anderen Maschinen. SSH - kurz & gut ist eine kompakte Referenz zur Verwendung und Konfiguration der SSH-Clients und -Server. Behandelt werden u.a. auch die Schl?sselverwaltung, Port-Forwarding und verschiedene Authentifizierungsmethoden. Eine ausf?hrliche Beschreibung finden Sie hier: http://www.oreilly.de/catalog/sshprger/desc.html - Linux iptables Pocket Reference ==================================== Gregor N. Purdy First Edition 2004 ISBN 0-596-00569-5 96 Seiten, EUR 9.90 Linux iptables Pocket Reference organizes the subtle netfilter syntax for quick and easy lookup, and helps administrators remember all the values they need to enter to assure strict security. The book divides the listings of all iptables options into those that are suitable for firewalling, accounting, and Network Address Translation (NAT). Our unique quick reference format is ideal for Linux administrators who already have a firewall in place, but need to be prepared for frequent changes in their environment. Eine ausf?hrliche Beschreibung finden Sie hier: http://www.oreilly.de/catalog/lnxiptablespr/desc.html - Understanding Open Source and Free Software Licencing =========================================================== Andrew M. St. Laurent First Edition September 2004 ISBN 0-596-00581-4 208 Seiten, EUR 24.00 Licensing is a major part of what open source and free software are all about, but it's still one of the most complicated areas of law. Understanding Open Source and Free Software Licensing explains your licensing options, how they compare and interoperate, and how license choices affect project possibilities. If you're an open source/free software developer, this book is an absolute necessity. Eine ausf?hrliche Beschreibung finden Sie hier: http://www.oreilly.de/catalog/osfreesoft/desc.html Ein Probekapitel finden Sie hier: Chapter 2: The MIT, BSD, Apache, and Academic Free Licenses (PDF Format) http://www.oreilly.com/catalog/osfreesoft/chapter/ch02.pdf - BSD Hacks ============ 100 Industrial-Strength tips for BSD users and administrators Dru Lavigne First Edition 2004 ISBN 0-596-00679-9 300 Seiten, EUR 24.00 Looking for a unique set of practical tips, tricks, and tools for administrators and power users of BSD systems? From hacks to customize the user environment to networking, securing the system, and optimization, BSD Hacks takes a creative approach to saving time and accomplishing more with fewer resources. If you want more than the average BSD user--to explore and experiment, unearth shortcuts, create useful tools-- this book is a must-have. Probehacks k?nnen Sie hier lesen: http://www.oreilly.de/catalog/bsdhks/chapter/ - OpenOffice.org Writer ======================== The Free Alternative to Microsoft Word Jean Hollis Weber First Edition 2004 ISBN 0-596-00826-0 234 Seiten , inkl. CD-ROM, EUR 24.00 This handy reference is packed with essential information to help you learn OOoWriter including how to write, edit, and review documents; control page layout; use templates and styles effectively; insert, edit and create graphics, and much more--even how to make a smooth transition from Microsoft Word. With the complete office suite included on a CD, OpenOffice.org Writer: The Free Alternative to Microsoft Word makes using Writer an easy decision. Eine ausf?hrliche Beschreibung des Titels finden Sie hier: http://www.oreilly.de/catalog/openoffice/desc.html Ein Probekapitel finden Sie hier: http://www.oreilly.de/catalog/openoffice/chapter/ - SpamAssassin =============== Alan Schwartz First Edition 2004 ISBN 0-596-00707-8 256 Seiten, EUR 24.00 Die deutsche ?bersetzung erscheint im November Sys admins can field scores of complaints and spend months testing software suites that turn out to be too aggressive, too passive, or too complicated to setup only to discover that SpamAssassin (SA), the leading open source spam-fighting tool, is free, flexible, powerful, highly-regarded, and remarkably effective. The drawback? Until now, it was SpamAssassin's lack of published documentation. This clear, concise new guide provides the expertise you need to take back your inbox. "Detailed, accurate and informative--recommended for spam-filtering beginners and experts alike." --Justin Mason, SpamAssassin development team Eine ausf?hrliche Beschreibung des Titels finden Sie hier: http://www.oreilly.de/catalog/spamassassin/desc.html Ein Probekapitel des Titels finden Sie hier: http://www.oreilly.de/catalog/spamassassin/chapter/ch02.pdf - Building the Perfect PC ========================== The complete guide to customizing, upgrading, and creating your own machine Robert Bruce Thompson & Barbara Fritchman Thompson First Edition 2004 ISBN 0-596-00663-2 350 Seiten, EUR 29.00 Building the Perfect PC covers a variety of complete systems and their components, beginning with the various reasons why you'd want to build your own PC, planning and picking out the components, and putting it all together. If you've yearned for a quality machine with high-end components that suit your needs, then Building the Perfect PC will put you where you want to be: in control of your computer system. Eine ausf?hrliche Beschreibung des Titels finden Sie hier: http://www.oreilly.de/catalog/buildpc/desc.html Ein Probekapitel des Titels finden Sie hier: http://www.oreilly.de/catalog/buildpc/chapter/ Barbara Wei? Marketing Manager/PR O'Reilly Verlag GmbH & Co.KG Balthasarstr. 81 50670 K?ln Tel. 0221-973160-21 Fax.:0221-973160-8 barbara@oreilly.de, http://www.oreilly.de ----- End forwarded message ----- -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/} From gooly at gmx.at Tue Sep 28 04:44:15 2004 From: gooly at gmx.at (Carl A. Schreiber) Date: Tue Sep 28 04:44:18 2004 Subject: [Vienna-pm] Hash-Frage von extern Message-ID: <200409281144.15020.gooly@gmx.at> Hallo, jemand von der Suse-Liste m?chte ein Perl-Script anpassen und wei? nicht was soll das bedeuten, ich selbst kenne diese Schreibweise auch nicht: Ratschl?ge? Folgender Perl-Code: while () > { > $eintrag={ > ? ?SRC_1=>$src1, > ? ?SRC_2=>$src2, > ? ?DES_1=>$dest1, > ? ?DES_2=>$dest2, > ? ?POR_1=>$por1, > ? ?DATA1=>$data1, > ? ?DATA2=>$data2, > ? ?DATA3=>$data3 > }; [ .. ] > %hash->{$eintrag->{DES_1}}->{$eintrag->{SRC_1}} +=$eintrag->{DATA1}; > %hash->{$eintrag->{DES_1}}->{"SUMME"} += $eintrag->{DATA1}; > %hash->{"SUMME"}->{"GESAMT"} += $eintrag->{DATA1}; > %hash->{"SUMME"}->{$eintrag->{POR_1}} += $eintrag->{DATA1}; Was hei? hier: %hash->{$a}{$b} += $eintrag->{DATA1}; ist das gleich: $hash{$a}{$b}{DATA1} = $eintrag{DATA1}; Wird also dem hash %hash ein neues Element (key=>value) hinzugef?gt? Danke im Voraus, Calli From domm at zsi.at Tue Sep 28 05:07:16 2004 From: domm at zsi.at (Thomas Klausner) Date: Tue Sep 28 04:58:35 2004 Subject: [Vienna-pm] Hash-Frage von extern In-Reply-To: <200409281144.15020.gooly@gmx.at> References: <200409281144.15020.gooly@gmx.at> Message-ID: <20040928100716.GD19571@domm2.zsi.at> Hi! On Tue, Sep 28, 2004 at 11:44:15AM +0200, Carl A. Schreiber wrote: > Was hei?? hier: > %hash->{$a}{$b} += $eintrag->{DATA1}; > ist das gleich: > $hash{$a}{$b}{DATA1} = $eintrag{DATA1}; > Wird also dem hash %hash ein neues Element (key=>value) hinzugef??gt? Nein. += addiert zu dem Ding auf der linken Seite das Ding auf der rechten. d.h. was auch immer sich hinter $hash{$a}{$b} versteckt ist nachher der alte Wert von $hash{$a}{$b} PLUS $eintrag{DATA1}. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/} From gooly at gmx.at Tue Sep 28 05:23:44 2004 From: gooly at gmx.at (Carl A. Schreiber) Date: Tue Sep 28 05:23:48 2004 Subject: [Vienna-pm] Hash-Frage von extern In-Reply-To: <20040928100716.GD19571@domm2.zsi.at> References: <200409281144.15020.gooly@gmx.at> <20040928100716.GD19571@domm2.zsi.at> Message-ID: <200409281223.44484.gooly@gmx.at> Hmm, (?) Am Dienstag, 28. September 2004 12:07 schrieb Thomas Klausner: > Hi! > > On Tue, Sep 28, 2004 at 11:44:15AM +0200, Carl A. Schreiber wrote: > > Was hei?? hier: > > %hash->{$a}{$b} += $eintrag->{DATA1}; > > ist das gleich: > > $hash{$a}{$b}{DATA1} = $eintrag{DATA1}; > > Wird also dem hash %hash ein neues Element (key=>value) hinzugef??gt? > > Nein. > > += addiert zu dem Ding auf der linken Seite das Ding auf der rechten. > > d.h. was auch immer sich hinter $hash{$a}{$b} versteckt ist nachher der > alte Wert von $hash{$a}{$b} PLUS $eintrag{DATA1}. Das w?rde ja bedeuten, dass %hash->{$a}->{$b} += $eintrag{DATA1} (Zusatzfrage: was bedeutete %hash{$a}{$b} ?) gleich $hash->{$a}->{$b} += $eintrag{DATA1} (das ist ja eindeutig) ist? Warum dann %hash-> .. Ich dachte das waere eine Slice-Version f?r hashes (aehnlich Arrays: @arr[0,1,2,3]) Gibt's das ?berhaupt? Calli From domm at zsi.at Tue Sep 28 05:51:27 2004 From: domm at zsi.at (Thomas Klausner) Date: Tue Sep 28 05:42:45 2004 Subject: [Vienna-pm] Hash-Frage von extern In-Reply-To: <200409281223.44484.gooly@gmx.at> References: <200409281144.15020.gooly@gmx.at> <20040928100716.GD19571@domm2.zsi.at> <200409281223.44484.gooly@gmx.at> Message-ID: <20040928105127.GG19571@domm2.zsi.at> Hi! On Tue, Sep 28, 2004 at 12:23:44PM +0200, Carl A. Schreiber wrote: > Am Dienstag, 28. September 2004 12:07 schrieb Thomas Klausner: > > On Tue, Sep 28, 2004 at 11:44:15AM +0200, Carl A. Schreiber wrote: > > > Was hei?? hier: > > > %hash->{$a}{$b} += $eintrag->{DATA1}; > > > ist das gleich: > > > $hash{$a}{$b}{DATA1} = $eintrag{DATA1}; > > > Wird also dem hash %hash ein neues Element (key=>value) hinzugef??gt? > > > > Nein. > > > > += addiert zu dem Ding auf der linken Seite das Ding auf der rechten. > > > > d.h. was auch immer sich hinter $hash{$a}{$b} versteckt ist nachher der > > alte Wert von $hash{$a}{$b} PLUS $eintrag{DATA1}. > > Das w?rde ja bedeuten, dass > %hash->{$a}->{$b} += $eintrag{DATA1} > (Zusatzfrage: was bedeutete %hash{$a}{$b} ?) > gleich > $hash->{$a}->{$b} += $eintrag{DATA1} > (das ist ja eindeutig) > ist? Warum dann %hash-> .. > Ich dachte das waere eine Slice-Version f?r hashes > (aehnlich Arrays: @arr[0,1,2,3]) > > Gibt's das ?berhaupt? Moment: %hash ... ein Hash $hash{key} ... ein Wert dieses Hashes $hashref ... eine Referenz auf einen Hash $hashref->{key} ... ein Wert dieser Hashref Bei verschachtelten Datenstrukturen (Hash of Hashes, o.ae.) konnen die Pfeile zwischen den Ebenen weggelassen werden. $hashref->{$a}{b} ist dasselbe wie $hashref->{$a}->{$b} (nur kuerzer :-) Hash-Slices hab ich noch nie verwendet, aber anscheinend (perldoc perldata) verwenden Hash-Slices ein @ als Sigil: @colors{'red','blue','green'}=(0xff0000, 0x0000ff, 0x00ff00); Oder reden wir irgendwie aneinander vorbei? -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/} From gooly at gmx.at Tue Sep 28 06:01:52 2004 From: gooly at gmx.at (Carl A. Schreiber) Date: Tue Sep 28 06:01:55 2004 Subject: [Vienna-pm] Hash-Frage von extern In-Reply-To: <20040928105127.GG19571@domm2.zsi.at> References: <200409281144.15020.gooly@gmx.at> <200409281223.44484.gooly@gmx.at> <20040928105127.GG19571@domm2.zsi.at> Message-ID: <200409281301.52620.gooly@gmx.at> Thomas, der code mit dieser (u.a. so wie die) Zeile: %hash->{$a}{$b} += $eintrag->{DATA1}; funktioniert, hier ist die Quelle: http://www.acelab.net/brickreporter/brickreporter.tar.gz Ich kenne diese Perl-Syntax nicht: %hash->{$a}{$b} += $eintrag->{DATA1}; deshalb meine Frage. [ .. ] > Moment: > > %hash ... ein Hash > $hash{key} ... ein Wert dieses Hashes > > $hashref ... eine Referenz auf einen Hash > $hashref->{key} ... ein Wert dieser Hashref > > Bei verschachtelten Datenstrukturen (Hash of Hashes, o.ae.) konnen die > Pfeile zwischen den Ebenen weggelassen werden. > > $hashref->{$a}{b} > ist dasselbe wie > $hashref->{$a}->{$b} > (nur kuerzer :-) Das ist mir alles bekannt, aber %hash{$a}{$b} sehe ich das erstemal und bin etwas ratlos. Calli From wolfgang.laun at alcatel.at Tue Sep 28 06:04:06 2004 From: wolfgang.laun at alcatel.at (LAUN Wolfgang) Date: Tue Sep 28 06:07:25 2004 Subject: [Vienna-pm] Hash-Frage von extern Message-ID: > -----Original Message----- > From: Carl A. Schreiber [mailto:gooly@gmx.at] > Sent: Tuesday, September 28, 2004 12:24 PM > To: vienna-pm@mail.pm.org > Subject: Re: [Vienna-pm] Hash-Frage von extern > > > > Hmm, (?) > > > Das w?rde ja bedeuten, dass > %hash->{$a}->{$b} += $eintrag{DATA1} > (Zusatzfrage: was bedeutete %hash{$a}{$b} ?) > gleich > $hash->{$a}->{$b} += $eintrag{DATA1} > (das ist ja eindeutig) > ist? Antworten: Zusatzfrage: %hash{$key} "bedeutet" einen Syntaxerror. Frage: Die beiden Schreibweisen sind NICHT gleich. %hash->{$key} ist "deprecated Syntax" f?r $href->{$key}, (sofern $href = \%hash ). $href->{$key} funktioniert NUR f?r Hash-Referenzen. NB1: Der Jemand sollte unbedingt -w in die erste Zeile schreiben. #! /usr/local/bin/perl -w NB2: Die Korrektur sollte die unnoetigen Verwendungen von Referenzen elminieren. %eintrag = ( SRC_1 => $src,... ); [...] $hash {$eintrag{DES_1}} {$eintrag{SRC_1}} += $eintrag{DATA1}; NB3: Wahrscheinlich verwendet der Jemand auch nicht use strict, was er aber sollte. lg Wolfgang > Warum dann %hash-> .. > Ich dachte das waere eine Slice-Version f?r hashes > (aehnlich Arrays: @arr[0,1,2,3]) > > Gibt's das ?berhaupt? > > Calli > > > _______________________________________________ > Vienna-pm mailing list > Vienna-pm@mail.pm.org > http://mail.pm.org/mailman/listinfo/vienna-pm > From pilsl at goldfisch.at Tue Sep 28 06:38:02 2004 From: pilsl at goldfisch.at (peter pilsl) Date: Tue Sep 28 06:40:24 2004 Subject: [Vienna-pm] Hash-Frage von extern In-Reply-To: <200409281144.15020.gooly@gmx.at> References: <200409281144.15020.gooly@gmx.at> Message-ID: <41594D1A.7050309@goldfisch.at> Carl A. Schreiber wrote: > >>%hash->{$eintrag->{DES_1}}->{$eintrag->{SRC_1}} +=$eintrag->{DATA1}; > durch die mischung von 2 systemen und einer veralteten syntax wird das ganze etwas unleserlich, aber prinzipiell ist das ok. $hash{ $eintrag->{DES_1} } -> { $eintrag->{SRC_1} } +=$eintrag->{DATA1}; %hash->{x} ist das gleiche wie $hash{x} , nur absolut out. Ein hash, der als keys die werte von anonymen hashes nimmt und selbst wiederum anonyme hashes enth?lt. %a=(a=>{x=>"anton"},b=>{y=>"berta"}); print %a->{a}->{x},"\n"; # -> warning bei -w print %a->{a}{x},"\n"; # -> warning bei -w print $a{a}->{x},"\n"; print $a{a}{x},"\n"; print [@a{("a","b")}]->[0]->{x},"\n"; # slice das mit dem += hat tom schon gekl?rt. prinzipiell finde ich es wesentlich ?bersichtler durchgehend mit referenzen zu arbeiten, also mein beispielhash gleich so zu definieren: $a={a=>{x=>"anton"}, b=>{y=>"berta"}}; in d.c.l.p.m findet ?brigens aktuell eine ?hnliche debatte zu "mehrdimensionalen" hashes statt. > > Wird also dem hash %hash ein neues Element (key=>value) hinzugef?gt? > *JE NACHDEM:* wenn dieser key schon definiert ist, dann wird addiert. Wenn der key aber noch nicht definiert ist, dann wird er erzeugt und der value als wert eingetragen !!! peter ps: ich hasse unicode !! (als statement meiner aktuellen befindlichkeit f?r domm ;) -- mag. peter pilsl goldfisch.a IT-management tel +43 699 1 3574035 fax +43 699 4 3574035 pilsl@goldfisch.at From domm at zsi.at Tue Sep 28 07:07:37 2004 From: domm at zsi.at (Thomas Klausner) Date: Tue Sep 28 06:58:55 2004 Subject: [Vienna-pm] Hash-Frage von extern In-Reply-To: <41594D1A.7050309@goldfisch.at> References: <200409281144.15020.gooly@gmx.at> <41594D1A.7050309@goldfisch.at> Message-ID: <20040928120737.GA20094@domm2.zsi.at> Hi! On Tue, Sep 28, 2004 at 01:38:02PM +0200, peter pilsl wrote: > ps: ich hasse unicode !! (als statement meiner aktuellen befindlichkeit > f??r domm ;) BTW, auf der YAPC gabs einige Talks ueber Unicode, die ich aber alle geschickt umgangen habe (so wie das Thema Unicode im allgemeinen) :-) -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/} From pilsl at goldfisch.at Tue Sep 28 07:09:37 2004 From: pilsl at goldfisch.at (peter pilsl) Date: Tue Sep 28 07:11:50 2004 Subject: unicode (was Re: [Vienna-pm] Hash-Frage von extern) In-Reply-To: <20040928120737.GA20094@domm2.zsi.at> References: <200409281144.15020.gooly@gmx.at> <41594D1A.7050309@goldfisch.at> <20040928120737.GA20094@domm2.zsi.at> Message-ID: <41595481.7060903@goldfisch.at> Thomas Klausner wrote: > > BTW, auf der YAPC gabs einige Talks ueber Unicode, die ich aber alle > geschickt umgangen habe (so wie das Thema Unicode im allgemeinen) > HiHo, Kennt sich hier in der Gruppe jemand halbwegs mit unicode aus? Es geht darum Daten mittels CGI.pm aus einem Webinterface einzulesen, zu bearbeiten und irgendwann wieder mal auszugeben. Egal wie ich es mache, irgendetwas funktioniert nicht: verwende ich binmode um STDIN u STDOUT auf utf8 zu trimmen, spielt mod_perl nicht mit. verwende ich utf8::decode, dann spielt das lc() nicht mit bzw. macht CGI.pm bei den sticky-outputs Problemen. verwende ich utf8::downgrade, dann spielt das sort() nicht mit usw. usf. Zwei Fragen: * verwendet hier jemand konsequent unicode in einer gr?sseren applikation ? * hat jemand Wissen,Lust und Zeit, mir hier ein paar Stunden "Privatnachilfe" zu geben oder ein Demo zu coden? (bezahlt !!) Ich zuck aus mit dem Mist ;) peter -- mag. peter pilsl goldfisch.at IT-management tel +43 699 1 3574035 fax +43 699 4 3574035 pilsl@goldfisch.at From domm at zsi.at Tue Sep 28 07:58:47 2004 From: domm at zsi.at (Thomas Klausner) Date: Tue Sep 28 07:50:13 2004 Subject: [Vienna-pm] Re: unicode In-Reply-To: <41595481.7060903@goldfisch.at> References: <200409281144.15020.gooly@gmx.at> <41594D1A.7050309@goldfisch.at> <20040928120737.GA20094@domm2.zsi.at> <41595481.7060903@goldfisch.at> Message-ID: <20040928125847.GD20358@domm2.zsi.at> Hi! On Tue, Sep 28, 2004 at 02:09:37PM +0200, peter pilsl wrote: > Thomas Klausner wrote: > > > >BTW, auf der YAPC gabs einige Talks ueber Unicode, die ich aber alle > >geschickt umgangen habe (so wie das Thema Unicode im allgemeinen) > > > Kennt sich hier in der Gruppe jemand halbwegs mit unicode aus? Falls nicht, hier ein paar Infos von der YAPC: http://belfast.yapc.org/wiki/index.cgi?AMatterOfCharacter von dakkar: http://belfast.yapc.org/wiki/index.cgi?GianniCeccarelli BTW, ich glaube man kann ihn am 9.10. bei diesem codejam in Italien treffen.. Dann gabs noch einen Lightning Talk von Mark Fowler: http://www.twoshortplanks.com/talks/utf8/ -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/} From kh at dartbase.com Tue Sep 28 13:32:27 2004 From: kh at dartbase.com (Karlheinz Zoechling) Date: Tue Sep 28 13:29:52 2004 Subject: unicode (was Re: [Vienna-pm] Hash-Frage von extern) In-Reply-To: <41595481.7060903@goldfisch.at> Message-ID: <20040928182948.GEEK18525.viefep12-int.chello.at@xxx-xlhpeyhmjii> On Tue, 28 Sep 2004 14:09:37 +0200, peter pilsl wrote: >HiHo, Hola! >Kennt sich hier in der Gruppe jemand halbwegs mit unicode aus? bissi - halte mich allerdings nicht unbedingt fuer einen experten auf dem gebiet. ;-) >Egal wie ich es mache, irgendetwas funktioniert nicht: [..] >verwende ich utf8::decode, dann spielt das lc() nicht mit bzw. macht >CGI.pm bei den sticky-outputs Problemen. verwende nicht utf8::decode und encode. wirklich zielfuehrend zum hin-und- her codieren ist nur use Encode; und Encode::from_to(); das bedeutet aber dass du das encoding deiner daten zu jeder zeit wissen musst - daher ist es am besten das hin-und-her-gecode generell zu vermeiden und ueberhaupt nur unicode zu verwenden. das heisst: alle deine html seiten muessen utf8 codiert sein. das muss auch so im http header stehen (oder zumindest im html als meta http equiv). das gilt sowohl fuer die seiten mit den formularen als auch fuer die seiten die du rausschreibst. wenn du dir einmal 100% sicher bist dass die daten die dein programm bekommt in utf8 codiert sind und perl das wirklich nicht mitbekommt dann kannst du versuchen das utf8 flag zu setzen: utf8_on($wert); achtung: das wandelt $wert nicht nach unicode um sondern veranlasst perl nur $wert als unicode zu betrachten! $wert muss schon korrekt unicode codiert sein. schliesslich: welches perl verwendest du? ein aktuelles (5.8.5) ist dringend anzuraten, und mit 5.6 ist es ein ziemlich sinnloses unterfangen... lg karlheinz From pilsl at goldfisch.at Tue Sep 28 15:13:59 2004 From: pilsl at goldfisch.at (peter pilsl) Date: Tue Sep 28 15:16:15 2004 Subject: [Vienna-pm] Re: unicode In-Reply-To: <20040928182948.GEEK18525.viefep12-int.chello.at@xxx-xlhpeyhmjii> References: <20040928182948.GEEK18525.viefep12-int.chello.at@xxx-xlhpeyhmjii> Message-ID: <4159C607.5090101@goldfisch.at> Karlheinz Zoechling wrote: > musst - daher ist es am besten das hin-und-her-gecode generell zu vermeiden > und ueberhaupt nur unicode zu verwenden. > alle deine html seiten muessen utf8 codiert sein. das muss auch so im http > header stehen (oder zumindest im html als meta http equiv). das gilt > sowohl fuer die seiten mit den formularen als auch fuer die seiten die du > rausschreibst > wenn du dir einmal 100% sicher bist dass die daten die dein programm bekommt > in utf8 codiert sind und perl das wirklich nicht mitbekommt dann kannst du > versuchen das utf8 flag zu setzen: > utf8_on($wert); > danke. (utf8_on hab ich weder in Encode noch in utf8 gefunden ...) Ich verwende 5.8.5 und CGI3.05, also die neuesten Versionen jeweils. Mein aktuelles Ziel, an dem ich aber scheitere, ist das einlesen eines simplen textfields und dessen ausgabe auf drei arten: * unmodifiziert * sortiert ( mit - als trennzeichen im string) * lowercased Aktuell habe ich dazu folgende Frage: was heisst UTF8-encoded eigentlich wirklich? $a="\x{e4}\x{62}"; # das ist ?b utf8::is_utf8($a) = FALSE !!!??? und wenn ich das auf eine webpage mit utf8-charset schreibe, dann steht da auch nur mist. Ich muss encoden (aber das ist doch schon unicode??!!), dann sehe ich auch ?b oder ich muss STDOUT auf utf8 schalten. Es gibt da die eine Variante, wo zB ein ? als zwei bytes/zeichen erscheint und eine wo ? eben einfach ein zeichen ist. Welche ist nun utf8-encoded? zu meinem aktuellen Ziel hab ich in den letzten Tagen ca. 100 demoscripts verfasst, die alle in irgendeinerweise nicht funktioniert haben oder nur mit 100.000 decode- u encode, die ich nach gut gl?ck solange eingesetzt habe, bis es halt funktioniert hat, ohne zu verstehen. Aktuell ist ein script online, dass einen String aus einem Formular einliest, ihn ausgibt, sortiert ausgibt und lowercased ausgibt. Das gleiche macht es mit einem Referenzstring, der intern hardgecoded ist (als serie von \x{abcd}). Sinnvollerweise gebe ich in das Textfeld auch den gleichen String ein. Und dann passieren Dinge, die ich so nicht will u nicht verstehe. Der Referenzstring hat das utf8-flag nicht gesetzt, meine Eingabe schon. warum ? Der Referenzstring sortiert korrekt, meine Eingabe nicht !! (a-?-b-o-?-p ist korrekt, a-?-?-b-o-p ist falsch) warum ? Der Referenzstring l?sst bei lc() die Umlaute gross, meine Eingabe macht das zumindest richtig. Wie kriegs ich hin, dass sowohl meine Eingabe, als auch der hardcoded string richtig sortieren *UND* korrekt lowercasen? Wie muss ich es angehen, damit ich auf die binmode(STDIN/STDOUT,":utf8") verzichten kann? Die Eingabe decoden bzw. die Ausgabe encoden, aber von was auf was eigentlich? Sorry f?r diese vielen "dummen" Fragen, aber ich besch?ftige mich jetzt seit einigen Tagen nur mehr mit diesem Thema und mittlerweile ist mir eigentlich gar nix mehr klar ... Irgendwo hab ich das Gef?hl, als w?rde ich irgendwo einen v?llig falschen Ansatz verfolgen und alles w?rde eh ganz easy gehen, wenn ich nur w?sste wie ... :) Falls jemand Lust hat (oder ernsthaft mit mir einen bezahlten Tutorial-day verbringen will - ich mein das voll ernst - ich verscheiss hier Tag um Tag und bin frustriert, weil mir der Knopf nicht aufgehen will) : das script ist online unter http://www.customers.goldfisch.at/cgi-bin/unicodetest_pm_demo.pl (das UTF-8 steht im header) und der source ist -------------------------------------- #!/usr/local/bin/perl -w use strict; # step1: prepare for german locales use POSIX qw(locale_h); use locale; setlocale(LC_COLLATE, "de_AT"); # step2: prepare for unicode binmode(STDOUT,":utf8"); binmode(STDIN,":utf8"); # step3: prepare for CGI use CGI; my $query = new CGI; my $charset = 'UTF-8'; $CGI::XHTML= 0; print $query->header(-charset=>$charset),$query->start_html(-title=>'Unicodetest'); #print "cgi-version = ",$CGI::VERSION,"

\n"; #stepA: referencestring print "

referencestring

"; my $sr="\x{00e4}-\x{0062}-\x{00f6}-\x{0061}-\x{006f}-\x{0070}-\x{00c4}-\x{0042}-\x{00d6}-\x{0041}-\x{004f}-\x{0050}"; # ?-b-?-a-o-p-?-B-?-A-O-P print "orig. : ";ustat($sr); print "sorted :";ustat(usort($sr)); print "lower : ";ustat(lc($sr)); #stepB: my input print "

your input

"; my $si=$query->param('unicode'); $si=~s/\r|\n//g; # remove trailing linebreaks print "orig. : ";ustat($si); print "sorted :";ustat(usort($si)); print "lower : ";ustat(lc($si)); # stepC : print text-field and finish CGI print 'enter your text here :', $query->start_multipart_form, $query->textfield(-name=>'unicode',-size=>100), "\n
\n", $query->submit(-name=>'submit',-value=>'proceed'),"\n", $query->endform,"\n"; print $query->end_html; sub ustat{ # get a string, print it, its length and its hexdump # check for its utf8-ness and print results my $s=shift; print ""; print $s," (l=",length($s),")
"; foreach my $i (0..length($s)-1) { print sprintf ("%04x",ord(substr($s,$i,1)))." "; } print "
\n"; print "valid ",utf8::valid($s)?"yes":"no"," - "; print "is_utf8 ",utf8::is_utf8($s)?"yes":"no","
\n"; print "

"; } sub usort{ # get a string, split by "-", sort and return the joined sorted string # my $s=shift; return join("-",sort split("-",$s)); } -------------------------------------------------------------------------------- danke, peter -- mag. peter pilsl goldfisch.at IT-management tel +43 699 1 3574035 fax +43 699 4 3574035 pilsl@goldfisch.at From kh at dartbase.com Tue Sep 28 16:38:03 2004 From: kh at dartbase.com (Karlheinz Zoechling) Date: Tue Sep 28 16:35:26 2004 Subject: [Vienna-pm] Re: unicode Message-ID: <20040928213522.FKCL22611.viefep16-int.chello.at@xxx-xlhpeyhmjii> On Tue, 28 Sep 2004 22:13:59 +0200, peter pilsl wrote: okay, ich hab' ein bisschen herumgetan: > $sr="\x{00e4}-\x{0062}-\x{00f6}-\x{0061}-\x{006f}-\x{0070}-\x{00c4}-\x {0042}-\x{00d6}-\x{0041}-\x{004f}-\x{0050}"; ># ?-b-?-a-o-p-?-B-?-A-O-P perl weiss hier noch nicht dass dein string unicode ist - bisher ist es ja nur ein string mit zeichen in \x notation, das ist noch nicht automatisch unicode - also: utf8::upgrade($sr); (ja, ich weiss ich hab geschrieben dass man das nicht nehmen soll... ;-) ) jetzt sollte dein script korrekt lowercasen und konsistent (aber leider immer noch falsch) sortieren. also muss man noch das sort veraendern, denn das scheint mit dem eingebauten perl sort nicht zu gehen (ich hab noch nie unicode gesortet, thank god...), und dazu gibts - angeblich - Unicode::Collate : use strict; use Unicode::Collate; our $Collator = Unicode::Collate->new(); und dann: sub usort{ # get a string, split by "-", sort and return the joined sorted string # my $s=shift; return join("-",$Collator->sort( split("-",$s))); } probier' das mal. ;-) lg karlheinz From pilsl at goldfisch.at Tue Sep 28 16:57:10 2004 From: pilsl at goldfisch.at (peter pilsl) Date: Tue Sep 28 16:59:31 2004 Subject: [Vienna-pm] Re: unicode In-Reply-To: <20040928213522.FKCL22611.viefep16-int.chello.at@xxx-xlhpeyhmjii> References: <20040928213522.FKCL22611.viefep16-int.chello.at@xxx-xlhpeyhmjii> Message-ID: <4159DE36.4070802@goldfisch.at> Karlheinz Zoechling wrote: > > perl weiss hier noch nicht dass dein string unicode ist - bisher ist es ja > nur ein string mit zeichen in \x notation, das ist noch nicht automatisch > unicode - also: > > utf8::upgrade($sr); > danke. Mir ist leider immer noch nicht klar, was das eigentlich heisst, dass ein string "unicode" ist. > also muss man noch das sort veraendern, denn das scheint mit dem eingebauten > perl sort nicht zu gehen (ich hab noch nie unicode gesortet, thank god...), > und dazu gibts - angeblich - Unicode::Collate : > Unicode::Collate funktioniert, greift aber auf ein ?ber 1MB grosses allkeys.txt (wird von der UCA regelm?ssig herausgegeben) zur?ck und sollte man anscheinend nicht in grossen multithread-applicationen verwenden wegen Speicherproblemen und ausserdem ist es unglaublich langsam (1MB-file laden, suchen etc.) imho m?sste sort auch funktionieren, weil in meiner version funktioniert es ja mit dem Referenzfile - schnell u speicherschonend. Unicode::Collate ist nur ein workaround f?r ein schlechtes Programm?! Oder die einzige Variante, die wirklich funktioniert? Benutzt du auch binmode f?r deine scripts oder gehst du generell anders vor? 100.000.000 Dank auf jeden Fall. peter ps: ich ?berlege gerade, nicht einfach auf einen ISO zur?ckzukehren oder auf all das sorten und lc zu pfeifen und einfach nur datenbanksorts zuzulassen. -- mag. peter pilsl goldfisch.at IT-management tel +43 699 1 3574035 fax +43 699 4 3574035 pilsl@goldfisch.at From kh at dartbase.com Tue Sep 28 17:31:52 2004 From: kh at dartbase.com (Karlheinz Zoechling) Date: Tue Sep 28 17:32:19 2004 Subject: [Vienna-pm] Re: unicode In-Reply-To: <4159DE36.4070802@goldfisch.at> Message-ID: <20040928223215.WZIB15384.viefep14-int.chello.at@xxx-xlhpeyhmjii> On Tue, 28 Sep 2004 23:45:35 +0200, peter pilsl wrote: >Karlheinz Zoechling wrote: >danke. Mir ist leider immer noch nicht klar, was das eigentlich heisst, >dass ein string "unicode" ist. es heisst dass beim string perl-intern ein unicode flag gesetzt ist. das beeinflusst dann bei den funktionen/modulen die "unicode-aware" sind die meinung darueber was als ein zeichen betrachtet wird. >imho m?sste sort auch funktionieren, weil in meiner version funktioniert >es ja mit dem Referenzfile - schnell u speicherschonend. eigentlich sollte es funktionieren - wenn du vor dem sorten umwandelst und dann wieder zurueck. aber das habe ich gerade ausprobiert und es auch nicht geschafft. meine erfahrung mit unicode bisher: je mehr herumgecode umso mehr probleme... >Unicode::Collate ist nur ein workaround f?r ein schlechtes Programm?! >Oder die einzige Variante, die wirklich funktioniert? was sorting betrifft eher letzteres. es ist halt nicht einfach mit dem alphabetischen sortieren wenn menschen andere ansichten von reihenfolge haben als es die zugrundeliegenden zahlenmappings des computers repraesentieren. und diese ansichten der menschen sind dann auch noch lokal/regional unterschiedlich... hier kommt man sobald man ascii verlaesst ohne mehr oder weniger exzessive mappings einfach nicht aus. das ist ja auch bei iso codings schon so, nicht nur bei unicode. >Unicode::Collate funktioniert, greift aber auf ein ?ber 1MB grosses >allkeys.txt (wird von der UCA regelm?ssig herausgegeben) zur?ck und >sollte man anscheinend nicht in grossen multithread-applicationen >verwenden wegen Speicherproblemen und ausserdem ist es unglaublich >langsam (1MB-file laden, suchen etc.) du hast ja mod_perl erwaehnt - du koenntest den collator per startup script vorinitialisieren, dann bleibt zumindest "nur" mehr der hoehere speicherbedarf, der lookup sollte da eigentlich nicht so schlimm sein (muesste man schaun wie collate programmiert ist, evtl. auch viel cachen und/oder Memoize verwenden). >Benutzt du auch binmode f?r deine scripts oder gehst du >generell anders vor? binmode hab' ich bisher nur verwendet wenn ich wirklich absolut nicht mehr weiter wusste und es irgendwie geholfen hat - hs. vor 5.8. ;-) ich habe i.a. aber nicht (mehr) viel mit unicode zu tun. >ps: ich ?berlege gerade, nicht einfach auf einen ISO zur?ckzukehren oder >auf all das sorten und lc zu pfeifen und einfach nur datenbanksorts >zuzulassen. nach iso zurueckkehren ist eine moeglichkeit, wird aber eventuell spaeter problematisch werden - imho gehoert unicode die zukunft, ob wir das moegen oder nicht. wenn du strikt in unicode bleibst kann eben auch ein koreaner als passwort den namen seiner mutter eingeben - das mag jetzt vielleicht unnoetig erscheinen, aber wenn dann wirklich der erste koreaner kommt... db sorts wuerde ich aber sicher den vorzug geben wenn die db unicode gut unterstuetzt. lg karlheinz From pilsl at goldfisch.at Tue Sep 28 17:44:30 2004 From: pilsl at goldfisch.at (peter pilsl) Date: Tue Sep 28 17:46:45 2004 Subject: [Vienna-pm] Re: unicode In-Reply-To: <20040928223215.WZIB15384.viefep14-int.chello.at@xxx-xlhpeyhmjii> References: <20040928223215.WZIB15384.viefep14-int.chello.at@xxx-xlhpeyhmjii> Message-ID: <4159E94E.4050402@goldfisch.at> danke. das mit dem collate in mod_perl muss ich mir genauer anschauen. Aber da muss es ohnehin anders laufen, weil da geht nix mit binmode. Ich habe gerade ein script hingebogen, dass aktuell alles tut, was ich will (JUCHUU !!!). Die Frage ist nur, ob das "Zufall" ist oder ein annehmbares Konzept. also, ich verzichte auf binmode(STD,":utf8") und muss daf?r die eingehenden parameter decoden und vor dem ausschreiben wieder encoden. Klingt das vern?nftig? Damit das sortieren mit dem sort funktioniert mache ich ein downgrade und damit das mit dem lc() funktioniert, mache ich vorher wieder ein upgrade. Klingt das zu schwindelig? in pseudocode sieht das dann so aus (html-header nat?rlich UTF8) .... my $input=$cgi->param('myfield'); utf8::decode($input); utf8::downgrade($input); # otherwise sort will not sort according to # my LC_COLLATE-setting and I need # localized sort (mainly german data) my $value=do_a_lot($input); # do some dataprocessing including sorting utf8::upgrade($value); # otherwise the lc() in the next line would # not lower chars like german umlauts $value=lc($value); utf8::downgrade($value); # to make sort work again $value=do_a_lot_more($value); # do some more dataprocessing and sorting utf8::encode($value); print $value; macht das irgendwo sinn oder schreit das nach Problemen? das mit dem downgrade liegt mir ein wenig im bauch, aber es funktioniert, auch mit m// u s/// - operationen. downgrade heisst ja, dass das utf8-flag intern nicht mehr gesetzt ist. das heisst also, dass der string nicht mehr als 2-byte-folge gelesen wird (was ja imho die probleme beim sortieren macht), sondern einfach als folge von \x{...}-Zeichen. Warum dann das lc nicht funktioniert ist fraglich. Oder hab ich das mit dem utf-8 flag immer noch nicht gecheckt. Ist das flag "gut" oder "schlecht". Offensichtlich kann man auch unicode bearbeiten, wenn das flag nicht gesetzt ist. Ist das flag nicht eh eher ein hilfsflag f?r methoden, die standardm?ssig nicht mit unicode zurechtkommen u dann irgendeinen multibyte-trick fahren oder bin ich da grad v?llig im Essigglas mit dieser These? Mir kommt schon vor, dass unicode noch sehr _bleeding edge_ ist und nicht ganz ausgereift ... danke, peter -- mag. peter pilsl goldfisch.at IT-management tel +43 699 1 3574035 fax +43 699 4 3574035 pilsl@goldfisch.at From kh at dartbase.com Tue Sep 28 18:25:39 2004 From: kh at dartbase.com (Karlheinz Zoechling) Date: Tue Sep 28 18:26:08 2004 Subject: [Vienna-pm] Re: unicode In-Reply-To: <4159E94E.4050402@goldfisch.at> Message-ID: <20040928232604.OARM14750.viefep18-int.chello.at@xxx-xlhpeyhmjii> On Wed, 29 Sep 2004 00:44:30 +0200, peter pilsl wrote: >also, ich verzichte auf binmode(STD,":utf8") und muss daf?r die >eingehenden parameter decoden und vor dem ausschreiben wieder encoden. >Klingt das vern?nftig? vernuenftig: nein praktikabel: eingeschraenkt ja ;-) aus http://search.cpan.org/~nwclark/perl-5.8.5/lib/utf8.pm : $num_octets = utf8::upgrade($string) Converts in-place the octet sequence in the native encoding (Latin-1 or EBCDIC) to the equivalent character sequence in UTF-X. $string already encoded as characters does no harm. Returns the number of octets necessary to represent the string as UTF-X. Can be used to make sure that the UTF-8 flag is on, so that \w or lc() work as Unicode on strings containing characters in the range 0x80-0xFF (on ASCII and derivatives). !!! Note that this function does not handle arbitrary encodings. !!! das bedeutet: was in latin-1 oder ebcdic definiert ist geht. auf den vornamen der mutter des koreaners trifft das aber wahrscheinlich nicht zu... andererseits, wen interessiert ob koreanische eingaben korrekt sortiert/lowercased werden? probier's mal mit sonderzeichen ausserhalb des near-ascii range, da koennten die ersten probleme auftreten. >Damit das sortieren mit dem sort funktioniert mache ich ein downgrade >und damit das mit dem lc() funktioniert, mache ich vorher wieder ein >upgrade. >Klingt das zu schwindelig? nein, zu bekannt. ;-) im ernst: es geht durchaus eine zeit lang gut - bis das erste "boese" zeichen auftaucht. manpage: $success = utf8::downgrade($string[, FAIL_OK]) wenn du mit sowas in produktion gehst mach auf jeden fall fail_ok true. jetzt zum testen gib alle moeglichen zeichen ein (am besten koreanisch) und beobachte was passiert, mit fail_ok true und false. >Offensichtlich kann man auch unicode >bearbeiten, wenn das flag nicht gesetzt ist. kann man, aber es wird bei nicht gesetztem flag eben auch nicht als unicode behandelt. es kommt auf deine daten an ob das ergebnis trotzdem brauchbar ist. das ist das problem an der sache - du denkst dir testdaten aus und alles geht, bis dann einer kommt und etwas problematisches eingibt. ich geh' jetzt schlafen, ich hab' schon lauter koreaner im hirn. ;-) lg karlheinz From pilsl at goldfisch.at Wed Sep 29 01:33:46 2004 From: pilsl at goldfisch.at (peter pilsl) Date: Wed Sep 29 01:36:02 2004 Subject: [Vienna-pm] Re: unicode In-Reply-To: <20040928232604.OARM14750.viefep18-int.chello.at@xxx-xlhpeyhmjii> References: <20040928232604.OARM14750.viefep18-int.chello.at@xxx-xlhpeyhmjii> Message-ID: <415A574A.4070000@goldfisch.at> Karlheinz Zoechling wrote: >>also, ich verzichte auf binmode(STD,":utf8") und muss daf?r die >>eingehenden parameter decoden und vor dem ausschreiben wieder encoden. >>Klingt das vern?nftig? > > > vernuenftig: nein > praktikabel: eingeschraenkt ja > ;-) > aber was w?re die vern?nftige Alternative? Mal abgesehen von den upgrade/downgrade/sort() und lc() Problemen? binmode geht bei mod_perl nicht, weil das diesbez?glich nicht transparent ist (da gabs und gibts immer wieder Threads dazu auf der mod_perl und der mod_perl devel liste : dort wurde auch das decode-prinzip empfohlen) > > das bedeutet: was in latin-1 oder ebcdic definiert ist geht. auf den > vornamen der mutter des koreaners trifft das aber wahrscheinlich nicht zu... > andererseits, wen interessiert ob koreanische eingaben korrekt > sortiert/lowercased werden? probier's mal mit sonderzeichen ausserhalb des > near-ascii range, da koennten die ersten probleme auftreten. > Probleme im technischen oder im semantischen Sinn? egal: ich werds probieren. Und zwar auch so, dass ich mal auf das ganze downgrade/upgrade/sort pfeif und falls ich echt mal ein sort brauche, dann halt vorher down/upgrade und sonst mit utf8-gesetzten Variablen arbeite ;) >>Klingt das zu schwindelig? > > nein, zu bekannt. ;-) > Frage, ob das nun ein gutes Zeichen ist ;) > >>Offensichtlich kann man auch unicode >>bearbeiten, wenn das flag nicht gesetzt ist. > > > kann man, aber es wird bei nicht gesetztem flag eben auch nicht als unicode > behandelt. es kommt auf deine daten an ob das ergebnis trotzdem brauchbar > ist. das ist das problem an der sache - du denkst dir testdaten aus und > alles geht, bis dann einer kommt und etwas problematisches eingibt. > > ich geh' jetzt schlafen, ich hab' schon lauter koreaner im hirn. ;-) > liebe gr?sse an deine koreaner, mir haben gestern utf8-flags einen tango im hirn getanzt ;) Immerhin besser als die Polka am Vorabend ;) danke, lg peter ps: zwei zusatzfragen: 1) die von dir gestern mal erw?hnt utf8_on-Methode? Hab ich nicht gefunden. Das w?re eine Alternative zu upgrade. (Ohne die Nebenwirkungen zu kennnen) 2) weisst du wie man den utf8::decode/encode durch Encode::from_to ersetzt. Von wo nach wo will ich da eigentlich umcodieren? Eines ist utf8 - klar, aber das andere? Vielleicht w?rd mich das noch ein wenig mehr erhellen, wenn ich das eigentlich w?sste. Illuminieren auf jeden Fall. -- goldfisch.at IT-management tel +43 699 1 3574035 fax +43 699 4 3574035 pilsl@goldfisch.at From kh at dartbase.com Wed Sep 29 04:53:06 2004 From: kh at dartbase.com (email) Date: Wed Sep 29 04:53:08 2004 Subject: [Vienna-pm] Re: unicode Message-ID: <200409290953.i8T9r6oD028247@dartbase.com> sorry, grad wenig zeit also hier nur die antwort auf eine frage. :-( > > andererseits, wen interessiert ob koreanische eingaben korrekt > > sortiert/lowercased werden? probier's mal mit sonderzeichen ausserhalb des > > near-ascii range, da koennten die ersten probleme auftreten. > > > > Probleme im technischen oder im semantischen Sinn? im semantischen sinn auf jeden fall probleme. im technischen kommt's drauf an was wie schief geht und wie sich die daran beteiligte weitere software in dem fall verhaelt. nimm an ein zeichen wird beim herumcoden auf ein falsches encoding gemappt. so lange das falsche encoding im zielencoding existiert steht dort halt ein falsches zeichen, also ein rein semantisches problem. wenn die resultierende bytefolge/das resultierende ein-byte zeichen aber im zielencoding gar nicht definiert ist dann ist das encoding nicht falsch sondern kaputt, und software die sich beim encoding strikt verhaelt (dinge die mit xml zu tun haben zum beispiel) wird bei einem kaputten encoding die arbeit verweigern und eine exception werfen. da kann dir dann passieren dass wegen eines kaputten zeichens ein ganzes produktionssystem steht. lg karlheinz From pilsl at goldfisch.at Wed Sep 29 10:19:31 2004 From: pilsl at goldfisch.at (peter pilsl) Date: Wed Sep 29 10:21:45 2004 Subject: [Vienna-pm] Re: unicode In-Reply-To: <200409290952.i8T9qDMb026930@dartbase.com> References: <200409290952.i8T9qDMb026930@dartbase.com> Message-ID: <415AD283.4030102@goldfisch.at> email wrote: >> >>Probleme im technischen oder im semantischen Sinn? > > > im semantischen sinn auf jeden fall probleme. > > im technischen kommt's drauf an was wie schief geht und wie sich die > daran beteiligte weitere software in dem fall verhaelt. nimm an ein > zeichen wird beim herumcoden auf ein falsches encoding gemappt. so lange > das falsche encoding im zielencoding existiert steht dort halt ein > falsches zeichen, also ein rein semantisches problem. wenn die > resultierende bytefolge/das resultierende ein-byte zeichen aber im > zielencoding gar nicht definiert ist dann ist das encoding nicht falsch > sondern kaputt. > vielen dank u leider haben sich deine bef?rchtungen v?llig bewahrheitet. meine l?sung funktioniert seht gut, solange es iso-8859-1-chars sind u dann ist schluss mit lustig. utf8::downgrade stirbt zB bei russischem input. wenn man fail_ok setzt, dann l?uft das script weiter, aber sortierung, datenbankschreiben etc. ist v?llig im eimer. Ich habe also eine unicodel?sung, die nur f?r iso-8859-1 funktioniert. Na Bravissimo !! :( peter -- mag. peter pilsl goldfisch.at IT-management tel +43 699 1 3574035 fax +43 699 4 3574035 pilsl@goldfisch.at From hjp at wsr.ac.at Wed Sep 29 12:18:03 2004 From: hjp at wsr.ac.at (Peter J. Holzer) Date: Wed Sep 29 12:18:06 2004 Subject: [Vienna-pm] Re: unicode In-Reply-To: <4159E94E.4050402@goldfisch.at> References: <20040928223215.WZIB15384.viefep14-int.chello.at@xxx-xlhpeyhmjii> <4159E94E.4050402@goldfisch.at> Message-ID: <20040929171803.GD9295@wsr.ac.at> On 2004-09-29 00:44:30 +0200, peter pilsl wrote: > Ich habe gerade ein script hingebogen, dass aktuell alles tut, was ich > will (JUCHUU !!!). Die Frage ist nur, ob das "Zufall" ist oder ein > annehmbares Konzept. > > also, ich verzichte auf binmode(STD,":utf8") und muss daf?r die > eingehenden parameter decoden und vor dem ausschreiben wieder encoden. > Klingt das vern?nftig? Ja. (Wobei encoden und decoden von und nach utf8 wohl eh ein nop ist, da die Strings intern auch als utf-8 dargestellt werden). > Damit das sortieren mit dem sort funktioniert mache ich ein downgrade > und damit das mit dem lc() funktioniert, mache ich vorher wieder ein > upgrade. > Klingt das zu schwindelig? Es klingt nach Bug im sort oder falscher Locale-Einstellung. Eigentlich sollte Sortieren auch mir utf-8-Strings funktionieren. Wie hast Du die locale gesetzt? (und welche Perl-Version, welches OS, welche libc-Version etc. ist das?) > macht das irgendwo sinn oder schreit das nach Problemen? IMHO hast Du sp?testens ein Problem, wenn Zeichen au?erhalb des Latin-1-Repertoires auftauchen, z.B. ein Euro-Zeichen oder ein z mit Hacek. > downgrade heisst ja, dass das utf8-flag intern nicht mehr gesetzt ist. > das heisst also, dass der string nicht mehr als 2-byte-folge gelesen > wird (was ja imho die probleme beim sortieren macht), Eine 2-Byte-Folge ist es intern ohnehin nicht, sondern eine UTF-8-Kodierung - d.h., ein Zeichen kann eine variable Anzahl von 1 bis 6 Bytes belegen. > sondern einfach als folge von \x{...}-Zeichen. Wenn Du jetzt noch definierst, was ein \x{...}-Zeichen sein soll ... :-) \x{...} ist ein Konstrukt im Perl-Source-Code. Intern schaut ein "A" genau gleich aus, ob Du nun "A" geschrieben hast, oder "\101" oder "\x{41}". > Warum dann das lc nicht funktioniert ist > fraglich. Oder hab ich das mit dem utf-8 flag immer noch nicht gecheckt. > Ist das flag "gut" oder "schlecht". Das Flag ist weder "gut" noch "schlecht", es dient dazu, zwei Datentypen zu unterscheiden. Wenn es gesetzt ist, repr?sentiert die Bytefolge C3 A4 ein "?", wenn es nicht gesetzt ist, repr?sentiert sie die zwei Zeichen mit den Codes C3 und A4 im lokalen Zeichensatz (in Latin-1 LATIN CAPITAL LETTER A WITH TILDE und CURRENCY SIGN). In einer ganzzahligen Variable (gibt's sowas in Perl, oder sind numerische Variablen immer double?) w?rde sie den Wert 42179 repr?sentieren (little-endian). RAM besteht nur aus Bytes, aber jedes Programm muss wissen, wie es die Bytes interpretieren soll. Bei Sprachen wie Perl, wo Variablen den Datentyp zur Laufzeit ?ndern k?nnen, muss diese Information mit jeder Variable mitgef?hrt werden. Wenn die Information aus irgendeinem Grund falsch ist, kommt Bl?dsinn raus. > Mir kommt schon vor, dass unicode noch sehr _bleeding edge_ ist und > nicht ganz ausgereift ... Durchaus m?glich, dass da noch Bugs drin sind. Das gr??ere Problem ist aber meistens zwischen Tastatur und Sessel. Es ist ziemlich leicht, den ?berblick zu verlieren, was wo wie umgewandelt oder verarbeitet wird. hp -- _ | Peter J. Holzer | Shooting the users in the foot is bad. |_|_) | Sysadmin WSR / LUGA | Giving them a gun isn't. | | | hjp@wsr.ac.at | -- Gordon Schumacher, __/ | http://www.hjp.at/ | mozilla bug #84128 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 388 bytes Desc: not available Url : http://mail.pm.org/archives/vienna-pm/attachments/20040929/96b11d22/attachment.bin From hjp at wsr.ac.at Wed Sep 29 12:37:44 2004 From: hjp at wsr.ac.at (Peter J. Holzer) Date: Wed Sep 29 12:37:47 2004 Subject: [Vienna-pm] Re: unicode In-Reply-To: <20040929171803.GD9295@wsr.ac.at> References: <20040928223215.WZIB15384.viefep14-int.chello.at@xxx-xlhpeyhmjii> <4159E94E.4050402@goldfisch.at> <20040929171803.GD9295@wsr.ac.at> Message-ID: <20040929173744.GE9295@wsr.ac.at> On 2004-09-29 19:18:03 +0200, Peter J. Holzer wrote: > On 2004-09-29 00:44:30 +0200, peter pilsl wrote: > > Damit das sortieren mit dem sort funktioniert mache ich ein downgrade > > und damit das mit dem lc() funktioniert, mache ich vorher wieder ein > > upgrade. > > Klingt das zu schwindelig? > > Es klingt nach Bug im sort oder falscher Locale-Einstellung. Eigentlich > sollte Sortieren auch mit utf-8-Strings funktionieren. Wie hast Du die > locale gesetzt? (und welche Perl-Version, welches OS, welche > libc-Version etc. ist das?) Bei mir tuts: perl 5.8.3. Fedora Core 2 (linux 2.6.8-1.521, glibc 2.3.3). LANG=en_US.UTF-8 Das Script #!/usr/bin/perl use strict; use warnings; use locale; binmode STDIN, ":utf8"; binmode STDOUT, ":utf8"; my @array; while (<>) { chomp; push (@array, $_); } @array = sort @array; for (@array) { print length($_), ": $_\n"; } sortiert korrekt: % ./foo A a b B ? ? Z z 0: 1: a 1: A 1: ? 1: ? 1: b 1: B 1: z 1: Z % hp -- _ | Peter J. Holzer | Shooting the users in the foot is bad. |_|_) | Sysadmin WSR / LUGA | Giving them a gun isn't. | | | hjp@wsr.ac.at | -- Gordon Schumacher, __/ | http://www.hjp.at/ | mozilla bug #84128 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 388 bytes Desc: not available Url : http://mail.pm.org/archives/vienna-pm/attachments/20040929/d760e76d/attachment.bin From hjp at wsr.ac.at Wed Sep 29 13:14:17 2004 From: hjp at wsr.ac.at (Peter J. Holzer) Date: Wed Sep 29 13:14:20 2004 Subject: unicode (was Re: [Vienna-pm] Hash-Frage von extern) In-Reply-To: <20040928182948.GEEK18525.viefep12-int.chello.at@xxx-xlhpeyhmjii> References: <41595481.7060903@goldfisch.at> <20040928182948.GEEK18525.viefep12-int.chello.at@xxx-xlhpeyhmjii> Message-ID: <20040929181417.GF9295@wsr.ac.at> On 2004-09-28 20:32:27 +0200, Karlheinz Zoechling wrote: > On Tue, 28 Sep 2004 14:09:37 +0200, peter pilsl wrote: > >Egal wie ich es mache, irgendetwas funktioniert nicht: > [..] > >verwende ich utf8::decode, dann spielt das lc() nicht mit bzw. macht > >CGI.pm bei den sticky-outputs Problemen. > > verwende nicht utf8::decode und encode. wirklich zielfuehrend zum hin-und- > her codieren ist nur > > use Encode; > > und > > Encode::from_to(); Einspruch! Das codiert n?mlich zwischen zwei Encodings, d.h., Du hast als Ergebnis wieder einen String von Bytes und nicht einen String von Characters. lc kann dann z.B. nicht funktionieren. Besser ist es, Encode::decode und Encode::encode zu verwenden (utf8::decode und utf8::encode m?ssten aber ?quivalent sein, wenn nur von/nach UTF-8 umgewandelt werden soll). D.h., use Encode; $bytestring = get_string_in_charset_X(); $charstring = decode("X", $bytestring); $charstring2 = do_lots_of_stuff($charstring); $bytestring2 = encode("Y", $charstring); put_string_in_charsetY($bytestring2); do_lots_of_stuff arbeitet dann einfach mit Characterstrings, und ob die Zeichen jetzt lateinische Buchstaben, Umlaute oder chinesische Zeichen sind, ist ihm v?llig egal. Z.B. hier ein Ausschnitt aus einem Programm zum Kategorisieren von Mails: if ($entity->mime_type eq "text/plain") { my $cs = $entity->head->mime_attr("content-type.charset") ; $cs = "us-ascii" unless ($cs && Encode::resolve_alias($cs)); my $bh = $entity->bodyhandle(); my $io = $bh->open("r"); while (defined (my $l = $io->getline())) { $l = decode($cs, $l); my @t = ($l =~ m/(\w+)/g); for my $t (@t) { $self->add_token($t); } } $io->close(); } else { (da $io ein Filehandle ist, m?sste eigentlich auch binmode($io, "encoding($cs)") statt des expliziten decode-Aufrufs funktionieren) hp -- _ | Peter J. Holzer | Shooting the users in the foot is bad. |_|_) | Sysadmin WSR / LUGA | Giving them a gun isn't. | | | hjp@wsr.ac.at | -- Gordon Schumacher, __/ | http://www.hjp.at/ | mozilla bug #84128 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 388 bytes Desc: not available Url : http://mail.pm.org/archives/vienna-pm/attachments/20040929/8d7c5ee4/attachment.bin From pilsl at goldfisch.at Wed Sep 29 16:29:17 2004 From: pilsl at goldfisch.at (peter pilsl) Date: Wed Sep 29 16:31:32 2004 Subject: [Vienna-pm] Re: unicode In-Reply-To: <20040929171803.GD9295@wsr.ac.at> References: <20040928223215.WZIB15384.viefep14-int.chello.at@xxx-xlhpeyhmjii> <4159E94E.4050402@goldfisch.at> <20040929171803.GD9295@wsr.ac.at> Message-ID: <415B292D.5040908@goldfisch.at> Peter J. Holzer wrote: > > Das Flag ist weder "gut" noch "schlecht", es dient dazu, zwei > Datentypen zu unterscheiden. Wenn es gesetzt ist, repr?sentiert die > Bytefolge C3 A4 ein "?", wenn es nicht gesetzt ist, repr?sentiert sie > die zwei Zeichen mit den Codes C3 und A4 im lokalen Zeichensatz (in > Latin-1 LATIN CAPITAL LETTER A WITH TILDE und CURRENCY SIGN). > Vielen 1000 Dank. ... und der character E4 ist dann eine "zusammenfassung" der folge C3 A4 bei gesetztem utf8-flag ?! (E4=? in der unicode-table) Ich hab mir dein script im anderen posting angesehen (danke !!). Dein Beispiel sortiert bei mir auch richtig. Aber generell sortiert es bei mir falsch. Probier mal ? ? ? a b. Das ergibt bei mir a ? ? ? b !! Und das ist falsch. Um nun v?llig weg von allem terminal und evtl. eingabeproblemen (und auch weg von "binmode :utf8" zu kommen, hab ich mir ein kurzes Beispiel ?berlegt (source unten), dass intern ein Array (61,c3a4,c3b6,62) also (a,??,??,b) bzw. (a,?,?,b) erzeugt, dann upgraded und alternativ dazu encoded und jeweils sortiert. In allen F?llen ist zumindest hier bei mir die Sortierung falsch. Das b ist immer das letzte Element. (Ich benutze locale und explizit LC_COLLATE) upgrade u encode tut hier ?brigens nicht das gleiche, obwohl ich das eigentlich erwartet habe. upgrade ist ein nop, die nur das utf8-flag setzt. encode setzt auch das utf8-flag, aber fasst eben auch c3a4 zu dem character e4 zusammen. Obwohl das intern sicher immer noch ein c3a4 ist, aber wie wird das dann unterschiedlich interpretiert? in beiden f?llen ist das utf8-flag gesetzt, trotzdem gibt es als ergebnis einmal den character e4 und einmal die bytefolge c3a4. Wie unterscheidet perl das intern? Das utf8-flag ist es offenbar nicht. Das script: zu jedem string werden ?ber die methode ustat auch ein hexdump und die utf8-flags ausgegeben. -------------------------------------- #!/usr/local/bin/perl -w use strict; use POSIX qw(locale_h); use locale; setlocale(LC_COLLATE, "de_AT"); my $r; my @d=("\x{61}","\x{c3}\x{a4}","\x{c3}\x{b6}","\x{62}"); # a ? ? b my @d1=map {my $x=$_;utf8::upgrade($x);$x} @d; # set the utf8-flag my @d2=map {my $x=$_;utf8::decode($x);$x} @d; # decode $r.=ustat(join("",sort @d)); $r.="====\n"; $r.=ustat(join("",sort @d1)); $r.="====\n"; $r.=ustat(join("",sort @d2)); print $r,"\n"; sub ustat{ # print a string, its hexdump and utf8-status my $s=shift; my $r=''; $r.=$s." (l=".length($s).")\n"; foreach my $i (0..length($s)-1) { $r.=sprintf ("%x",ord(substr($s,$i,1)))."-"; } $r.="\n"; $r.="valid ".(utf8::valid($s)?"yes":"no")." - "; $r.="is_utf8 ".(utf8::is_utf8($s)?"yes":"no")."\n"; } -------------------------------------- vielen dank, peter ps: ein string der art 61 c3 a4 62 mit ungesetztem utf8-flag ist auch exakt das, was das CGI-Modul an parametern liefert. pps: Ich hab das alles auf zwei System ausprobiert mit dem gleichen ergebnis: System1: mandrake 8.1 - linux 2.4.24 - perl 5.8.5 glibc2.2.4 System2: mandrake 10.0 - linux 2.6.3 - perl 5.8.3 glibc2.3.3 -- mag. peter pilsl goldfisch.at IT-management tel +43 699 1 3574035 fax +43 699 4 3574035 pilsl@goldfisch.at From hjp at wsr.ac.at Thu Sep 30 03:45:56 2004 From: hjp at wsr.ac.at (Peter J. Holzer) Date: Thu Sep 30 03:46:00 2004 Subject: [Vienna-pm] Re: unicode In-Reply-To: <415B292D.5040908@goldfisch.at> References: <20040928223215.WZIB15384.viefep14-int.chello.at@xxx-xlhpeyhmjii> <4159E94E.4050402@goldfisch.at> <20040929171803.GD9295@wsr.ac.at> <415B292D.5040908@goldfisch.at> Message-ID: <20040930084556.GB24187@wsr.ac.at> On 2004-09-29 23:29:17 +0200, peter pilsl wrote: > Peter J. Holzer wrote: > > > >Das Flag ist weder "gut" noch "schlecht", es dient dazu, zwei > >Datentypen zu unterscheiden. Wenn es gesetzt ist, repr?sentiert die > >Bytefolge C3 A4 ein "?", wenn es nicht gesetzt ist, repr?sentiert sie > >die zwei Zeichen mit den Codes C3 und A4 im lokalen Zeichensatz (in > >Latin-1 LATIN CAPITAL LETTER A WITH TILDE und CURRENCY SIGN). > > > > Vielen 1000 Dank. > > ... und der character E4 ist dann eine "zusammenfassung" der folge C3 A4 > bei gesetztem utf8-flag ?! (E4=? in der unicode-table) Ja. Die Kodierung ist in perlunicode (unter "Unicode Encodings", wie einfallsreich) beschrieben. > Ich hab mir dein script im anderen posting angesehen (danke !!). Dein > Beispiel sortiert bei mir auch richtig. Aber generell sortiert es bei > mir falsch. Probier mal ? ? ? a b. Das ergibt bei mir a ? ? ? b !! Bei mir nicht. > Und das ist falsch. Siehe unten. > upgrade u encode tut hier ?brigens nicht das gleiche, obwohl ich das > eigentlich erwartet habe. upgrade ist ein nop, die nur das utf8-flag > setzt. Nein, es ist kein nop. Tats?chlich wird hier jedes Byte in eine utf-8-Folge umgewandelt. Im Normalfall merkst Du aber nichts davon, weil perl wei?, dass das ein UTF-8-String ist und ihn entsprechend behandelt. utf8::upgrade($s) ist ?quivalent zu Encoding::decode("iso-8859-1", $s) > encode setzt auch das utf8-flag, aber fasst eben auch c3a4 zu dem > character e4 zusammen. > Obwohl das intern sicher immer noch ein c3a4 ist, So ist es. > aber wie wird das dann > unterschiedlich interpretiert? Im ersten Fall ist das intern eben nicht mehr c3 a4, sondern c3 83 c2 a4 (also die UTF-Kodierung von \u00C3 \u00A4. > Das script: > zu jedem string werden ?ber die methode ustat auch ein hexdump und die > utf8-flags ausgegeben. > > -------------------------------------- > #!/usr/local/bin/perl -w > use strict; > > use POSIX qw(locale_h); > use locale; > setlocale(LC_COLLATE, "de_AT"); ^^^^^ de_AT ist mit hoher Wahrscheinlichkeit falsch. Das ist wahrscheinlich eine Locale mit iso-8859-15, nicht mit UTF-8. Probier mal de_AT.utf8. Bei mir sortiert er dann richtig. (und wenn ich binmode STDOUT, ":utf8" setze, schaut der Output auf einem UTF-8-Terminal auch richtig aus). > ps: ein string der art 61 c3 a4 62 mit ungesetztem utf8-flag ist auch > exakt das, was das CGI-Modul an parametern liefert. Den musst Du dann noch dekodieren. W?re nat?rlich sch?n, wenn das CGI-Modul das selbst k?nnte, scheint aber laut man-Page nicht so zu sein. hp -- _ | Peter J. Holzer | Shooting the users in the foot is bad. |_|_) | Sysadmin WSR / LUGA | Giving them a gun isn't. | | | hjp@wsr.ac.at | -- Gordon Schumacher, __/ | http://www.hjp.at/ | mozilla bug #84128 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 384 bytes Desc: not available Url : http://mail.pm.org/archives/vienna-pm/attachments/20040930/b4ddd2ba/attachment.bin From pilsl at goldfisch.at Thu Sep 30 10:28:17 2004 From: pilsl at goldfisch.at (peter pilsl) Date: Thu Sep 30 10:30:32 2004 Subject: [Vienna-pm] Re: unicode In-Reply-To: <20040930084556.GB24187@wsr.ac.at> References: <20040928223215.WZIB15384.viefep14-int.chello.at@xxx-xlhpeyhmjii> <4159E94E.4050402@goldfisch.at> <20040929171803.GD9295@wsr.ac.at> <415B292D.5040908@goldfisch.at> <20040930084556.GB24187@wsr.ac.at> Message-ID: <415C2611.5010302@goldfisch.at> Peter J. Holzer wrote: > > Im ersten Fall ist das intern eben nicht mehr c3 a4, sondern > c3 83 c2 a4 (also die UTF-Kodierung von \u00C3 \u00A4. > DANKE !! das war ein theoretischer augen?ffner !! >> >>use POSIX qw(locale_h); >>use locale; >>setlocale(LC_COLLATE, "de_AT"); > > ^^^^^ > de_AT ist mit hoher Wahrscheinlichkeit falsch. > Das ist wahrscheinlich eine Locale mit iso-8859-15, nicht mit UTF-8. > Probier mal de_AT.utf8. Ich habe das locale "de_AT.utf8" schon sehr oft versucht und habe immer das gleiche - falsche - Ergebnis erhalten. Nachdem das aber bei dir funktioniert hat, bin ich auf alle System gewandert, die ich so unter den Finger kriegen konnte. Und tats?chlich habs einige, wos funktioniert hat und bei anderen nicht. To make a long story/day short: Mandrake verwendet bei den i18n-locales einen anderen Syntax !! Das locale heisst also nicht "de_AT.utf8", sondern "de_AT.UTF-8" (casesensitive !!) !! JAWOLL !!! die sache l?uft. Und zwar ziemlich genauso, wie ich es vom Anfang an geplant hatte. Da es aber nie funktioniert hat, hab ich soviele pods u mans gelesen bis ich mich dezitiert nicht mehr ausgekannt habe und es hat immer noch nicht funktioniert und ich hab die Ursache immer in meinem Kopf und im Encoding gesucht. Auf die idee mit dem anderen i18n-syntax bin ich nie gekommen !! Wo ist sowas dokumentiert eigentlich? (ist aber keine perl-frage mehr ...) vielen dank f?r alle, die mir geholfen haben. Mal sehen, ob das jetzt auch in weiteren Tests so lauft, wie es laufen soll. Derzeit hab ich noch ein kleineres Problem: m//i funktioniert nicht, was man aber leicht umgehen kann, indem man die Variablen vorher lowercased. scheinbar hat m//i hier eine andere lc-l?sung als lc() selbst ... Wenn ich das script fertig habe, kann ich das demo hier mit einer kurzen erkl?rung posten, falls das interessiert? text einlesen, sortieren, lowercase, regexp patternmatch, ausgeben und das ganze auch in eine datenbank speichern und sort, lowercase u patternmatch auch dort ausf?hren k?nnen danke, peter -- mag. peter pilsl goldfisch.at IT-management tel +43 699 1 3574035 fax +43 699 4 3574035 pilsl@goldfisch.at From domm at zsi.at Thu Sep 30 14:15:56 2004 From: domm at zsi.at (Thomas Klausner) Date: Thu Sep 30 14:07:14 2004 Subject: [Vienna-pm] Re: unicode In-Reply-To: <415C2611.5010302@goldfisch.at> References: <20040928223215.WZIB15384.viefep14-int.chello.at@xxx-xlhpeyhmjii> <4159E94E.4050402@goldfisch.at> <20040929171803.GD9295@wsr.ac.at> <415B292D.5040908@goldfisch.at> <20040930084556.GB24187@wsr.ac.at> <415C2611.5010302@goldfisch.at> Message-ID: <20040930191556.GA28732@domm2.zsi.at> Hi! On Thu, Sep 30, 2004 at 05:28:17PM +0200, peter pilsl wrote: > Wenn ich das script fertig habe, kann ich das demo hier mit einer kurzen > erkl?rung posten, falls das interessiert? > > text einlesen, sortieren, lowercase, regexp patternmatch, ausgeben > und das ganze auch in eine datenbank speichern und sort, lowercase u > patternmatch auch dort ausf?hren k?nnen Und am naechsten Workshop (o.ae.) kannst du uns dein Maertyrium inkl. Heilsfindung auch gerne erzaehlen! -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/}