From roland.bauer at fff.at Wed Jun 6 11:50:49 2001 From: roland.bauer at fff.at (roland.bauer@fff.at) Date: Thu Aug 5 00:23:45 2004 Subject: [vienna.pm] Juni-Treffen der Mongers Message-ID: <200106061650.f56Gon128371@p133.inode.at> * * * vienna-pm-list * * * Hallo, beim letzten Treffen wurde ja ab nun ein monatliches Treffen vereinbart ... gibts da schon was? Siehe http://www.fff.at/1999/11/19/treffen/ Schoene Gruesse Roland -- roland.bauer@fff.at http://www.fff.at/ ### You are subscribed to vienna-pm-list as http://www.fff.at/fff/vienna.pm/ From mihi at gmx.at Wed Jun 6 12:10:14 2001 From: mihi at gmx.at (vienna.pm reminder) Date: Thu Aug 5 00:23:45 2004 Subject: [vienna.pm] [ANNOUNCE] vienna.pm treffen Message-ID: * * * vienna-pm-list * * * Hallo leute, wir treffen uns am nächsten dienstag den 12.06. um 19 uhr im Hopfenstange, Kaiserstraße 12, 1070 Wien. kommt zahlreich! euer reminder. Anreise: http://www.unet.univie.ac.at/~a9900470/perlmap.jpg ### You are subscribed to vienna-pm-list as "vienna.pm reminder" http://www.fff.at/fff/vienna.pm/ From domm at zsi.at Wed Jun 6 14:10:05 2001 From: domm at zsi.at (Thomas Klausner) Date: Thu Aug 5 00:23:45 2004 Subject: [vienna.pm] Juni-Treffen der Mongers In-Reply-To: <200106061650.f56Gon128371@p133.inode.at> Message-ID: <3B1E9C2D.12088.13AB7B@localhost> * * * vienna-pm-list * * * Hi! > beim letzten Treffen wurde ja ab nun ein > monatliches Treffen vereinbart ... gibts da schon was? Da ich zZ in Berlin bin (und noch bis August hier bleibe), werde ich fruehestens im September an einem ev stattfindenden Treffen teilnehmen koennen. BTW, fahrt irgendwer der werten Subskribenten (ausser mir) zur YAPC::Europe nach Amsterdam ? -- D_omm O_xyderkes http://domm.zsi.at M_echanen M_asteuei ### You are subscribed to vienna-pm-list as "Thomas Klausner" http://www.fff.at/fff/vienna.pm/ From michael at wsr.ac.at Thu Jun 7 04:59:03 2001 From: michael at wsr.ac.at (Michael Demelbauer) Date: Thu Aug 5 00:23:45 2004 Subject: [vienna.pm] =?iso-8859-1?Q?wie_kann_ich_ein_Array_in_einer_einzigen_Inputzeile_=FCbe?= =?iso-8859-1?Q?rgeben=3F?= Message-ID: <20010607115903.A8500@wsr.ac.at> * * * vienna-pm-list * * * Hallo, ich versuche gerade ein kleines ?bungsprogramm in perl zu schreiben und stehe nun vor dem Problem, da? im Fragment print "Enter line of input: "; my @array = ; die dann ?bergebene Zeile nicht als Array verstanden wird. Ein anschlie?endes print "@array\n"; schl?gt jedenfalls fehl, egal ob ich die Elemente durch Blanks oder Beistriche getrennt an das Programm ?bergebe. Falls ich mich verst?ndlich ausgedr?ckt haben sollte - kann mir da einer helfen? lG - Michl -- Michael P. Demelbauer WSR (Wirtschafts- und Sozialwissenschaftliches Rechenzentrum) LUGA (Linux User Group Austria) LIFE IS LIKE A BETA RELEASE - BUG REPORTS TO: god@heaven.org ### You are subscribed to vienna-pm-list as Michael Demelbauer http://www.fff.at/fff/vienna.pm/ From p.guehring at poboxes.com Thu Jun 7 05:21:19 2001 From: p.guehring at poboxes.com (Philipp =?iso-8859-1?q?G=FChring?=) Date: Thu Aug 5 00:23:45 2004 Subject: [vienna.pm] wie kann ich ein Array in einer einzigen Inputzeile =?iso-8859-1?q?=FCbe=20rgeben=3F?= In-Reply-To: <20010607115903.A8500@wsr.ac.at> References: <20010607115903.A8500@wsr.ac.at> Message-ID: <0106071221193N.23564@linux1> * * * vienna-pm-list * * * -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hallo Michael! Was h?ltst du von der folgenden L?sung: print "Enter line of input: "; my $line = ; my @array=split " ",$line; Damit liest du zuerst eine Zeile ein, und trennst die Eingaben dann in ein Array auf. Das Trennzeichen ist bei obigen Befehlen das Leerzeichen. Wenn du Kommas haben willst, mu?t du entsprechend my @array=split ",",$line; schreiben. Sch?ne Gr??e, - -- ~ Philipp G?hring p.guehring@futureware.at ~ http://www.futureware.at/ ICQ UIN: 6588261 ~ "Hat du Abk?rzungen, mut du Futureware Translator nehmen!" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.4 (GNU/Linux) Comment: For info see http://www.gnupg.org iD8DBQE7H1WglqQ+F+0wB3oRAnTeAJ4qvThTTU36vUtt+jL5emUkrw/oaQCfReVc Q2RXPkpsuBOe8mi3u6EXSLA= =Kffp -----END PGP SIGNATURE----- ### You are subscribed to vienna-pm-list as Philipp =?iso-8859-1?q?G=FChring?= http://www.fff.at/fff/vienna.pm/ From spaceman.spiff at foo.at Thu Jun 7 05:22:47 2001 From: spaceman.spiff at foo.at (Stefan Weiss) Date: Thu Aug 5 00:23:45 2004 Subject: [vienna.pm] =?iso-8859-1?Q?Re:_=5Bvienna.pm=5D_wie_kann_ich_ein_Array_in_einer_einzig?= =?iso-8859-1?Q?en_Inputzeile_=FCbergeben=3F?= References: <20010607115903.A8500@wsr.ac.at> Message-ID: <000d01c0ef3b$cce19a60$8c00000a@tigger> * * * vienna-pm-list * * * From: Michael Demelbauer > ich versuche gerade ein kleines ?bungsprogramm in perl zu schreiben > und stehe nun vor dem Problem, da? im Fragment > > print "Enter line of input: "; > my @array = ; > > die dann ?bergebene Zeile nicht als Array verstanden wird. while () { chomp; push @array, $_; } cheers, stefan ### You are subscribed to vienna-pm-list as "Stefan Weiss" http://www.fff.at/fff/vienna.pm/ From spaceman.spiff at foo.at Thu Jun 7 06:10:00 2001 From: spaceman.spiff at foo.at (Stefan Weiss) Date: Thu Aug 5 00:23:45 2004 Subject: [vienna.pm] =?iso-8859-1?Q?Re:_=5Bvienna.pm=5D_wie_kann_ich_ein_Array_in_einer_einzig?= =?iso-8859-1?Q?en_Inputzeile_=FCbe_rgeben=3F?= References: <20010607115903.A8500@wsr.ac.at> <0106071221193N.23564@linux1> Message-ID: <00ec01c0ef42$654dc750$8c00000a@tigger> * * * vienna-pm-list * * * From: Philipp G?hring > print "Enter line of input: "; > my $line = ; > my @array=split " ",$line; Ooops, sorry du hast nat?rlich recht, ich hatte die Frage nicht genau gelesen, ich habe nur "$line ... ... kein Array" gesehen. cheers, stefan ### You are subscribed to vienna-pm-list as "Stefan Weiss" http://www.fff.at/fff/vienna.pm/ From marcel at codewerk.com Thu Jun 7 06:53:07 2001 From: marcel at codewerk.com (Marcel Grunauer) Date: Thu Aug 5 00:23:45 2004 Subject: [vienna.pm] Juni-Treffen der Mongers In-Reply-To: <3B1E9C2D.12088.13AB7B@localhost> Message-ID: <20010607115307.KAOW7937.viemta04@localhost> * * * vienna-pm-list * * * Hi Thomas, > BTW, fahrt irgendwer der werten Subskribenten (ausser mir) zur > YAPC::Europe nach Amsterdam ? Ja. Zunaechst geht's aber mal nach Montreal... Aus diesem Grund kann ich beim Junitreffen auch nicht dabei sein; erst wieder im Juli. Marcel -- my int ($x, $y, $z, $n); $x**$n + $y**$n = $z**$n is insoluble if $n > 2; I have discovered a truly remarkable proof which this signature is too short to contain. (20 Aug 2001: Pierre de Fermat's 400th birthday) ### You are subscribed to vienna-pm-list as Marcel Grunauer http://www.fff.at/fff/vienna.pm/ From mihi at gmx.at Thu Jun 7 14:53:00 2001 From: mihi at gmx.at (Michael Bauer) Date: Thu Aug 5 00:23:45 2004 Subject: [vienna.pm] Push (@array,@array2) Message-ID: * * * vienna-pm-list * * * hallo leute folgendes problem: for ($w=0;$w<$#messages;$w++) { @splitted = split " " , $messages[$w]; push (@entry,@splitted); sollte so wie ich das verstehe ein mehrdimensionales array geben. mit $entry[0][0]=$splitted[0] nicht? gibts aber irgendwie nicht. was mache ich falsch? gruss mihi -- Programmers don't read documentation Alan Cox PGP/GPG key @ http://unet.univie.ac.at/~a9900470/mihi.asc ### You are subscribed to vienna-pm-list as Michael Bauer http://www.fff.at/fff/vienna.pm/ From mihi at gmx.at Thu Jun 7 15:03:37 2001 From: mihi at gmx.at (Michael Bauer) Date: Thu Aug 5 00:23:45 2004 Subject: [vienna.pm] Push (@array,@array2) In-Reply-To: Message-ID: * * * vienna-pm-list * * * hallo du trottel ;) On 07-Jun-2001 Michael Bauer wrote: > for ($w=0;$w<$#messages;$w++) { > @splitted = split " " , $messages[$w]; > push (@entry,@splitted); > > > sollte so wie ich das verstehe ein mehrdimensionales array geben. mit > $entry[0][0]=$splitted[0] nicht? > > gibts aber irgendwie nicht. perldoc -f gibt die antwort: push ARRAY,LIST Treats ARRAY as a stack, and pushes the values of LIST onto the end of ARRAY. The length of ARRAY increases by the length of LIST. Has the same effect as for $value (LIST) { $ARRAY[++$#ARRAY] = $value; } wobei @splitted LIST entspricht. > -- > Programmers don't read documentation > Alan Cox wie wahr gruss mihi ps.: jetzt brauch ich nur noch die möglichkeit das richtig zu machen *g* -- Linux is like a tippy, no windows, no gates and an apache inside PGP/GPG key @ http://unet.univie.ac.at/~a9900470/mihi.asc ### You are subscribed to vienna-pm-list as Michael Bauer http://www.fff.at/fff/vienna.pm/ From mihi at gmx.at Thu Jun 7 15:04:55 2001 From: mihi at gmx.at (Michael Bauer) Date: Thu Aug 5 00:23:45 2004 Subject: [vienna.pm] Push (@array,@array2) In-Reply-To: <20010607220055.B514-100000@localhost.localdomain> Message-ID: * * * vienna-pm-list * * * On 07-Jun-2001 Lukas Ertl wrote: > RTFM perldoc -f push: > > =item push ARRAY,LIST > > Treats ARRAY as a stack, and pushes the values of LIST > onto the end of ARRAY. The length of ARRAY increases by the length of > LIST. Has the same effect as > > for $value (LIST) { > $ARRAY[++$#ARRAY] = $value; > } > > but is more efficient. Returns the new number of elements in the array. hab mir grad ne mail mit derselben antwort geschickt *g* gruss -- Linux is like a tippy, no windows, no gates and an apache inside PGP/GPG key @ http://unet.univie.ac.at/~a9900470/mihi.asc ### You are subscribed to vienna-pm-list as Michael Bauer http://www.fff.at/fff/vienna.pm/ From mihi at gmx.at Thu Jun 7 15:24:00 2001 From: mihi at gmx.at (Michael Bauer) Date: Thu Aug 5 00:23:45 2004 Subject: [vienna.pm] Push (@array,@array2) In-Reply-To: Message-ID: * * * vienna-pm-list * * * On 07-Jun-2001 Michael Bauer wrote: > hallo du trottel ;) auch diese mail beantworte ich selbst, (ich schicke die zu schnell weg ;) > > ps.: jetzt brauch ich nur noch die möglichkeit das richtig zu machen *g* push @entry,[@splitted]; gruss mihi -- May the stability be with you! PGP/GPG key @ http://unet.univie.ac.at/~a9900470/mihi.asc ### You are subscribed to vienna-pm-list as Michael Bauer http://www.fff.at/fff/vienna.pm/ From roland.bauer at fff.at Fri Jun 8 10:20:26 2001 From: roland.bauer at fff.at (roland.bauer@fff.at) Date: Thu Aug 5 00:23:45 2004 Subject: [vienna.pm] push (@array,@array2) Message-ID: * * * vienna-pm-list * * * > for ($w=0;$w<$#messages;$w++) { > @splitted = split " " , $messages[$w]; > push (@entry,@splitted); Das schaut wie ein C-Konstrukt aus ;-) In Perl kann man das auch etwa so schreiben: for (@messages) { @splitted = split " "; push (@entry, [@splitted]); } oder for (@messages) { push (@entry, [split " "]); } oder (in neueren Versionen) push (@entry, [split " "]) for (@messages); Schoene Gruesse Roland ### You are subscribed to vienna-pm-list as http://www.fff.at/fff/vienna.pm/ From mihi at gmx.at Fri Jun 8 12:28:23 2001 From: mihi at gmx.at (Michael Bauer) Date: Thu Aug 5 00:23:45 2004 Subject: [vienna.pm] push (@array,@array2) In-Reply-To: Message-ID: * * * vienna-pm-list * * * On 08-Jun-2001 roland.bauer@fff.at wrote: > Das schaut wie ein C-Konstrukt aus ;-) wirst du mir nochmal verzeihen ;) sorry mach vieles wie in C. > In Perl kann man das auch etwa so schreiben: Danke. werd eine der versionen nehmen (just2beperllike ;) weil funzen tuts. gruss mihi -- CuteGuy: you never told me who you are [ELIZA]: What makes you think I am? CuteGuy: sorry but i am not interested in junk-philosophy in rare freetime PGP/GPG key @ http://unet.univie.ac.at/~a9900470/mihi.asc ### You are subscribed to vienna-pm-list as Michael Bauer http://www.fff.at/fff/vienna.pm/ From roland.bauer at fff.at Sat Jun 9 02:45:10 2001 From: roland.bauer at fff.at (roland.bauer@fff.at) Date: Thu Aug 5 00:23:45 2004 Subject: [vienna.pm] push (@array,@array2) Message-ID: * * * vienna-pm-list * * * > weil funzen tuts. Ich glaube, man kann _generell_ sagen, dass man in Perl _eher_ selten Indizes auf Arrays braucht: Entweder ist gar kein Index notwendig: for(@array) Oder es geht mit Hashes: for(keys %hash) Je nach Problem ... ;-) Schoene Gruesse Roland ### You are subscribed to vienna-pm-list as http://www.fff.at/fff/vienna.pm/ From roland.bauer at fff.at Tue Jun 12 08:00:45 2001 From: roland.bauer at fff.at (roland.bauer@fff.at) Date: Thu Aug 5 00:23:45 2004 Subject: [vienna.pm] Heute Treffen Message-ID: * * * vienna-pm-list * * * Wer hat vor, heute zu kommen? zur erinnerung: dienstag den 12.06. um 19 uhr im Hopfenstange, Kaiserstraße 12, 1070 Wien ich wuerde vorschlagen, wer als erster hinkommt, meldet sich bei der kellnerin als "perl monger". ich kann heut leider nur bis ca 20 uhr, aber ich bin dort. schoene gruesse roland -- roland.bauer@fff.at http://www.fff.at/ ### You are subscribed to vienna-pm-list as http://www.fff.at/fff/vienna.pm/ From roland.bauer at fff.at Tue Jun 12 08:12:08 2001 From: roland.bauer at fff.at (roland.bauer@fff.at) Date: Thu Aug 5 00:23:45 2004 Subject: [vienna.pm] job: perl und internet Message-ID: * * * vienna-pm-list * * * Hallo, in unserer EDV (Mediaprint) suchen sie Leute fuer Internet/Intranet. - use CGI; - use DBD::Oracle; - Javascript Hat jemand prinzipiell Interesse oder kennt wen? -> Ich habe dann naehere Infos. Derzeit koennten wir auch stundenweise Leute brauchen. Auch Know-How auf Beratungsbasis waere ok: Ich mach mir dann eine Liste, wen ich anrufen darf ;-) Am liebsten waere mir die URL Eurer Homepage. Roland -- roland.bauer@fff.at http://www.fff.at/ ### You are subscribed to vienna-pm-list as http://www.fff.at/fff/vienna.pm/ From mihi at gmx.at Tue Jun 12 10:26:13 2001 From: mihi at gmx.at (Michael Bauer) Date: Thu Aug 5 00:23:46 2004 Subject: [vienna.pm] Heute Treffen In-Reply-To: Message-ID: * * * vienna-pm-list * * * On 12-Jun-2001 roland.bauer@fff.at wrote: > Wer hat vor, heute zu kommen? komm auch -- Es ist einfacher Linux zu konfigurieren, als mit Windows zu leben. PGP/GPG key @ http://unet.univie.ac.at/~a9900470/mihi.asc ### You are subscribed to vienna-pm-list as Michael Bauer http://www.fff.at/fff/vienna.pm/ From nosleep at ircelite.org Tue Jun 12 10:41:20 2001 From: nosleep at ircelite.org (Stefan Heinecke) Date: Thu Aug 5 00:23:46 2004 Subject: [vienna.pm] Heute Treffen In-Reply-To: ; from roland.bauer@fff.at on Tue, Jun 12, 2001 at 03:00:45PM +0200 References: Message-ID: <20010612174120.D7186@hub.ircelite.org> * * * vienna-pm-list * * * On Tue, Jun 12, 2001 at 03:00:45PM +0200, roland.bauer@fff.at wrote: > Wer hat vor, heute zu kommen? /me > zur erinnerung: > dienstag den 12.06. um 19 uhr > im Hopfenstange, Kaiserstraße 12, > 1070 Wien Das ist Westbahnhof -> Mariahilferstrasse X Mariahilferstrasse <- Zieglergasse? Wenn es das ist komme ich, wenn das nicht ist hab ich keine Idee wo das ist und werd wohl nicht kommen ;). Stefan -- "Immer wieder klammert man sich an das Liebgewonnene und meint es sei Treue, es ist aber nur Trägheit." (Hermann Hesse) ### You are subscribed to vienna-pm-list as Stefan Heinecke http://www.fff.at/fff/vienna.pm/ From mihi at gmx.at Tue Jun 12 11:06:42 2001 From: mihi at gmx.at (Michael Bauer) Date: Thu Aug 5 00:23:46 2004 Subject: [vienna.pm] Heute Treffen In-Reply-To: <20010612174120.D7186@hub.ircelite.org> Message-ID: * * * vienna-pm-list * * * On 12-Jun-2001 Stefan Heinecke wrote: > Das ist Westbahnhof -> Mariahilferstrasse X Mariahilferstrasse <- > Zieglergasse? Wenn es das ist komme ich, wenn das nicht ist hab > ich keine Idee wo das ist und werd wohl nicht kommen ;). ja auf http://unet.univie.ac.at/~a99900470/perlmap.jpg findest du nen plan. gruss mihi -- one ring to rule them all, one ring to find them one rint to bring them all, and in the darkness bind them PGP/GPG key @ http://unet.univie.ac.at/~a9900470/mihi.asc ### You are subscribed to vienna-pm-list as Michael Bauer http://www.fff.at/fff/vienna.pm/ From marcel at codewerk.com Tue Jun 19 11:52:50 2001 From: marcel at codewerk.com (Marcel Grunauer) Date: Thu Aug 5 00:23:46 2004 Subject: [vienna.pm] [ANNOUNCE] Getopt::Attribute 0.02 Message-ID: <20010619165301.ZOBZ6087.viemta06@localhost> * * * vienna-pm-list * * * NAME Getopt::Attribute - Attribute wrapper for Getopt::Long SYNOPSIS use Getopt::Attribute; my $verbose : Getopt(verbose!); my $all : Getopt(all); my $size : Getopt(size=s); my $more : Getopt(more+); my @library : Getopt(library=s); my %defines : Getopt(define=s); sub quiet : Getopt(quiet) { our $quiet_msg = 'seen quiet' } usage() if my $man : Getopt(man); ... # Meanwhile, on some command line: mypgm.pl --noverbose --all --size=23 --more --more --more --quiet --library lib/stdlib --library lib/extlib --define os=linux --define vendor=redhat --man -- foo DESCRIPTION This module provides an attribute wrapper around `Getopt::Long'. Instead of declaring the options in a hash with references to the variables and subroutines affected by the options, you can use the `Getopt' attribute on the variables and subroutines directly. As you can see from the Synopsis, the attribute takes an argument of the same format as you would give as the hash key for `Getopt::Long'. See the `Getopt::Long' manpage for details. Note that since attributes are processed during CHECK, but assignments on newly declared variables are processed during run-time, you can't set defaults on those variables beforehand, like this: my $verbose : Getopt(verbose!) = 1; # DOES NOT WORK Instead, you have to establish defaults afterwards, like so: my $verbose : Getopt(verbose!); $verbose ||= 1; BUGS None known so far. If you find any bugs or oddities, please do inform the author. AUTHOR Marcel Grunauer, COPYRIGHT Copyright 2001 Marcel Grunauer. All rights reserved. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSO perl(1), Getopt::Long(3pm), Attribute::Handlers(3pm). Marcel -- We are Perl. Your table will be assimilated. Your waiter will adapt to service us. Surrender your beer. Resistance is futile. -- London.pm strategy aka "embrace and extend" aka "mark and sweep" ### You are subscribed to vienna-pm-list as Marcel Grunauer http://www.fff.at/fff/vienna.pm/ From marcel at codewerk.com Fri Jun 22 07:08:30 2001 From: marcel at codewerk.com (Marcel Grunauer) Date: Thu Aug 5 00:23:46 2004 Subject: [vienna.pm] YAPC::NA 2001 - Bericht Message-ID: <20010622120814.IBQQ21682.viemta04@localhost> * * * vienna-pm-list * * * Obwohl YAPC::North::America schon wieder fast eine Woche her ist, komm' ich doch erst jetzt dazu, einige Kommentare dazu abzugeben. Executive Summary: Es war fantastisch. Larry konnte leider nicht dabei sein, da er erkrankt war, aber Damian hat fuer ihn die keynote speech gehalten (http://prometheus.frii.com/~gnat/tmp/damian.mp3). Es ist schon ein merkwuerdiges Gefuehl, seinen Namen in einer keynote speech erwaehnt zu hoeren... Damian war ueberhaupt in Form - am Donnerstag hat er seinen "Life, The Universe and Everything"-Talk gehalten, in dem er cellular automata, Programmieren in Klingon und Maxwell's Demon zu einer fulminanten Praesentation kombinierte. Die talks waren informativ und unterhaltsam, aber besser noch war es, endlich viele Leute persoenlich kennenzulernen, die man bisher nur von IRC oder email oder newsgroups kannte. Ich hab auch ein journal auf use.perl geschrieben, siehe http://use.perl.org/journal.pl?op=display&uid=1124 -- das ist wohl einfacher, als das ganze hier noch mal zu reiterieren. Es gibt auch jede Menge Bilder: * http://buglet.rcbowen.com/photos/yapc_2001/ * http://gozer.people.hbesoftware.com/Perl/Yapc/ * http://vorpal.jabberwock.org/~wendigo/yapc2001 * http://ttul.org/~ingy/YAPC2001pics/ * http://www.maquina.com/gk/yapc2001/ Montreal ist eine recht schoene Stadt; angenehm, mit europaeischem Flair und fuehlt sich recht sicher an. Besonders an lauen Abenden (von denen es in der schwuelen Hitze nicht viele gab) ist es angenehm, durch downtown oder die Altstadt am Hafen zu spazieren; an Restaurants mangelt's dort jedenfalls nicht. Ich hab dort auch mein Debut als speaker gehabt; es war zwar nur ein lightning talk ueber Aspect-Oriented Perl, aber er ist gut angekommen. Auf der YAPC::Europe in Amsterdam ist dann ein 20-minuetiger talk ueber "Handling Attributes" akzeptiert worden. Ich hoffe doch, einige von Euch in Amsterdam zu sehen - aber vorher gibts ja das Juli-Meeting, das ich noch rechtzeitig ankuendigen werde. Marcel -- my int ($x, $y, $z, $n); $x**$n + $y**$n = $z**$n is insoluble if $n > 2; I have discovered a truly remarkable proof which this signature is too short to contain. (20 Aug 2001: Pierre de Fermat's 400th birthday) ### You are subscribed to vienna-pm-list as Marcel Grunauer http://www.fff.at/fff/vienna.pm/ From marcel at codewerk.com Wed Jun 27 17:07:48 2001 From: marcel at codewerk.com (Marcel Grunauer) Date: Thu Aug 5 00:23:46 2004 Subject: [vienna.pm] [ANNOUNCE] Scalar::Properties 0.10 Message-ID: <20010627220709.DNSX13412.viemta04@localhost> * * * vienna-pm-list * * * NAME Scalar::Properties - run-time properties on scalar variables SYNOPSIS use Scalar::Properties; my $val = 0->true; if ($val && $val == 0) { print "yup, its true alright...\n"; } my @text = ( 'hello world'->greeting(1), 'forget it', 'hi there'->greeting(1), ); print grep { $_->is_greeting } @text; my $l = 'hello world'->length; DESCRIPTION Scalar::Properties attempts to make Perl more object-oriented by taking an idea from Ruby: Everything you manipulate is an object, and the results of those manipulations are objects themselves. 'hello world'->length -1234->abs "oh my god, it's full of properties"->index('g') The first example asks a string to calculate its length. The second example asks a number to calculate its absolute value. And the third example asks a string to find the index of the letter 'g'. Using this module you can have run-time properties on initialized scalar variables and literal values. The word 'properties' is used in the Perl 6 sense: out-of-band data, little sticky notes that are attached to the value. While attributes (as in Perl 5's attribute pragma, and see the `Attribute::*' family of modules) are handled at compile-time, properties are handled at run-time. Internally properties are implemented by making their values into objects with overloaded operators. The actual properties are then simply hash entries. Most properties are simply notes you attach to the value, but some may have deeper meaning. For example, the `true' and `false' properties plays a role in boolean context, as the first example of the Synopsis shows. Properties can also be propagated between values. For details, see the EXPORTS section below. Here is an example why this might be desirable: pass_on('approximate'); my $pi = 3->approximate(1); my $circ = 2 * $rad * $pi; # now $circ->approximate indicates that this value was derived # from approximate values Please don't use properties whose name start with an underscore; these are reserved for internal use. You can set and query properties like this: `$var->myprop(1)' sets the property to a true value. `$var->myprop(0)' sets the property to a false value. Note that this doesn't delete the property (to do so, use the `del_props' method described below). `$var->is_myprop', `$var->has_myprop' returns a true value if the property is set (i.e., defined and has a true value). The two alternate interfaces are provided to make querying attributes sound more natural. For example: $foo->is_approximate; $bar->has_history; METHODS Values thus made into objects also expose various utility methods. All of those methods (unless noted otherwise) return the result as an overloaded value ready to take properties and method calls itself, and don't modify the original value. INTROSPECTIVE METHODS These methods help in managing a value's properties. `$var-'get_props> Get a list of names of the value's properties. `$var-'del_props(LIST)> Deletes one or more properties from the value. This is different than setting the property value to zero. `$var-'del_all_props> Deletes all of the value's properties. NUMERICAL METHODS `plus(EXPR)' Returns the value that is the sum of the value whose method has been called and the argument value. This method also overloads addition, so: $a = 7 + 2; $a = 7->plus(2); # the same `minus(EXPR)' Returns the value that is the the value whose method has been called minus the argument value. This method also overloads subtraction. `times(EXPR)' Returns the value that is the the value whose method has been called times the argument value. This method also overloads multiplication. `divide(EXPR)' Returns the value that is the the value whose method has been called divided by the argument value. This method also overloads division. `modulo(EXPR)' Returns the value that is the the value whose method has been called modulo the argument value. This method also overloads the modulo operator. `exp(EXPR)' Returns the value that is the the value whose method has been called powered by the argument value. This method also overloads the exponentiation operator. `abs' Returns the absolute of the value. `zero' Returns a boolean value indicating whether the value is equal to 0. STRING METHODS `length', `size' Returns the result of the built-in `length' function applied to the value. `reverse' Returns the reverse string of the value. `uc', `ucfirst', `lc', `lcfirst', `hex', `oct' Return the result of the appropriate built-in function applied to the value. `concat(EXPR)', `append(EXPR)' Returns the result of the argument expression appended to the value. `swapcase' Returns a version of the value with every character's case reversed, i.e. a lowercase character becomes uppercase and vice versa. `split /PATTERN/, LIMIT' Returns a list of overloaded values that is the result of splitting (according to the built-in `split' function) the value along the pattern, into a number of values up to the limit. BOOLEAN METHODS `numcmp(EXPR)' Returns the (overloaded) value of the numerical three-way comparison. This method also overloads the `<=>' operator. `cmp(EXPR)' Returns the (overloaded) value of the alphabetical three-way comparison. This method also overloads the `cmp' operator. `eq(EXPR)', `ne(EXPR)', `lt(EXPR)', `gt(EXPR)', `le(EXPR)', `ge(EXPR)' Return the (overlaoded) boolean value of the appropriate string comparison. These methods also overload those operators. `eqi(EXPR)', `nei(EXPR)', `lti(EXPR)', `gti(EXPR)', `lei(EXPR)', `gei(EXPR)' These methods are case-insensitive versions of the above operators. `is_true', `is_false' Returns the (overloaded) boolean status of the value. EXPORTS Three subroutines dealing with how properties are propagated are automatically exported. For an example of propagation, see the DESCRIPTION section above. `pass_on(LIST)' Sets (replaces) the list of properties that are passed on. There is only one such list for the whole mechanism. The whole property interface is experimental, but this one in particular is likely to change in the future. `passed_on(STRING)' Tests whether a property is passed on and returns a boolean value. `get_pass_on' Returns a list of names of properties that are passed on. BUGS None known so far. If you find any bugs or oddities, please do inform the authors. AUTHORS James A. Duncan Marcel Grunauer, COPYRIGHT Copyright 2001 Marcel Grunauer, James A. Duncan. All rights reserved. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSO perl(1), overload(3pm), Perl 6's properties. Marcel -- We are Perl. Your table will be assimilated. Your waiter will adapt to service us. Surrender your beer. Resistance is futile. -- London.pm strategy aka "embrace and extend" aka "mark and sweep" ### You are subscribed to vienna-pm-list as Marcel Grunauer http://www.fff.at/fff/vienna.pm/ From domm at zsi.at Thu Jun 28 03:05:02 2001 From: domm at zsi.at (Thomas Klausner) Date: Thu Aug 5 00:23:46 2004 Subject: [vienna.pm] [ANNOUNCE] Scalar::Properties 0.10 In-Reply-To: <20010627220709.DNSX13412.viemta04@localhost> Message-ID: <3B3B014E.21902.2B2021@localhost> * * * vienna-pm-list * * * Hi! On 27 Jun 2001, at 22:07, Marcel Grunauer wrote: > NAME > Scalar::Properties - run-time properties on scalar variables > .. Wow, schaut ja spacig aus. Ist das auch fuer Perl 6 eingeplant, oder gehen Attributes standardmaessig dort nur bei Objekten ? BTW, bist du irgendwie in die Perl 6 Entwicklung involviert bzw weisst, ob/wie ich involviert werden koennte (allerdings sind meine C Kenntnisse eher bescheiden) ? -- D_omm O_xyderkes http://domm.zsi.at M_echanen M_asteuei ### You are subscribed to vienna-pm-list as "Thomas Klausner" http://www.fff.at/fff/vienna.pm/ From marcel at codewerk.com Thu Jun 28 04:12:47 2001 From: marcel at codewerk.com (Marcel Grunauer) Date: Thu Aug 5 00:23:46 2004 Subject: [vienna.pm] [ANNOUNCE] Scalar::Properties 0.10 In-Reply-To: <3B3B014E.21902.2B2021@localhost> Message-ID: <20010628091207.EHLX13412.viemta04@localhost> * * * vienna-pm-list * * * On Thursday, June 28, 2001, at 10:05 AM, Thomas Klausner wrote: > On 27 Jun 2001, at 22:07, Marcel Grunauer wrote: >> NAME >> Scalar::Properties - run-time properties on scalar variables >> .. > Wow, schaut ja spacig aus. Ist das auch fuer Perl 6 eingeplant, > oder gehen Attributes standardmaessig dort nur bei Objekten ? > > BTW, bist du irgendwie in die Perl 6 Entwicklung involviert bzw > weisst, ob/wie ich involviert werden koennte (allerdings sind meine > C Kenntnisse eher bescheiden) ? Jeder Wert (value) wird in Perl 6 properties haben koennen, ohne deswegen ein Objekt sein zu muessen. Variablen und subroutines haben compile-time properties, values haben run-time properties. Die compile-time properties entsprechen den Perl 5-Attributen (siehe attribute.pm, Attribute::*, Getopt::Attribute etc.); dieses Modul, Scalar::Properties, emuliert eben Perl 6 runtime properties. Allerdings hab ich die Idee eigentlich von Ruby. Ich bin nicht wirklich an der Entwicklung von Perl 6 beteiligt; noch nicht jedenfalls. Aber ich verfolge die mailing lists und hab die RFCs gelesen, und auch Larrys Auswertungen (Apocalypse) und Damians Interpretationen (Exegesis). Siehe dev.perl.org fuer all diese Dinge. Meine C-Kenntnisse sind auch bescheiden, allerdings soll sich das bald aendern, da ich durchaus am Perl source code arbeiten moechte. Die internals werden sich von den Perl 5-Internals zwar grundlegend unterscheiden, aber ich denke, es ist trotzdem sinnvoll, darueber zu lernen. Mit Perl 5.6.0 kommt eh einige internals-Dokumentation, und da sind auch links auf weiterfuehrende Sites. Marcel -- my int ($x, $y, $z, $n); $x**$n + $y**$n = $z**$n is insoluble if $n > 2; I have discovered a truly remarkable proof which this signature is too short to contain. (20 Aug 2001: Pierre de Fermat's 400th birthday) ### You are subscribed to vienna-pm-list as Marcel Grunauer http://www.fff.at/fff/vienna.pm/ From marcel at codewerk.com Fri Jun 29 12:09:47 2001 From: marcel at codewerk.com (Marcel Grunauer) Date: Thu Aug 5 00:23:46 2004 Subject: [vienna.pm] [ANNOUNCE] Bundle::Perl6 0.01 Message-ID: <20010629170904.YUJZ1027.viemta05@localhost> * * * vienna-pm-list * * * NAME Bundle::Perl6 - A bundle to install Perl6-related modules SYNOPSIS perl -MCPAN -e 'install Bundle::Perl6' CONTENTS Attribute::Handlers - Simpler definition of attribute handlers Attribute::Types - Attributes that confer type on variables Attribute::Overload - Attribute that makes overloading easier Attribute::TieClasses - Attribute wrappers for CPAN Tie classes Attribute::Util - A selection of general-utility attributes Attribute::Deprecated - Mark deprecated methods Scalar::Properties - Run-time properties on scalar variables Switch - A switch statement for Perl Perl6::Variables - Perl 6 variable syntax for Perl 5 NEXT - Provide a pseudo-class NEXT for method redispatch DESCRIPTION This bundle defines modules that may be of interest to those discussing and implementing the Perl 6 language. Some of these are proof-of-concepts that the respective authors have implemented to show how things might work in Perl 6. There's a web page dealing with these modules and proof-of-concepts at http://www.codewerk.com/perl6/. AUTHOR Marcel Grunauer, COPYRIGHT Copyright 2001 Marcel Grunauer. All rights reserved. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSO All the modules in the bundle, of course. Marcel -- We are Perl. Your table will be assimilated. Your waiter will adapt to service us. Surrender your beer. Resistance is futile. -- London.pm strategy aka "embrace and extend" aka "mark and sweep" ### You are subscribed to vienna-pm-list as Marcel Grunauer http://www.fff.at/fff/vienna.pm/