From e_horn at fh-bingen.de Mon Jan 3 07:55:15 2005 From: e_horn at fh-bingen.de (e_horn@fh-bingen.de) Date: Mon Jan 3 07:55:19 2005 Subject: [Vienna-pm] Parameteruebergabe Message-ID: <1104760515.41d94ec3e1ac5@webmail.fh-bingen.de> Hallo ich bin neu bei euch! Und hoffe jmd kann mir weiterhelfen. Ich moechte die Wertr fuer $id in sub pr() uebergeben! Mit my $id=processNode($accessions->item($i));bekomme ich eine zahl herau welche ich in my $url einlesen lassen will! Wie kann ich den Wert von $id hier in ,my $url importieren? my $url=&get_s("nucl",$id); Ueber Hilfe waere ich sehr sehr dankbar! Gruss sub get_s($da,$id) { my $url='http...db='; my $da=$_[0]; my $id=$_[1]; my $pa='&id='; my $m='&retmode=xml'; return $url.$da.$pa.$id.$m; } sub pr() { my $xmldoc = $_[0]; my $parser = new XML::DOM::Parser; my $doc = $parser->parse($xmldoc); my $nodes = $doc->getElementsByTagName("..."); for (my $i=0; $i<$nodes->getLength(); $i++) {my $node = $nodes->item($i); my $accessions=$node->getElementsByTagName(""); my $id=processNode($accessions->item($i)); my $url=&get_s("nucleo",$id); my $doc_s=get $url;} ------------------------------------------------- This mail sent through IMP: http://horde.org/imp/ From domm at zsi.at Mon Jan 3 09:03:52 2005 From: domm at zsi.at (Thomas Klausner) Date: Mon Jan 3 08:59:31 2005 Subject: [Vienna-pm] Parameteruebergabe In-Reply-To: <1104760515.41d94ec3e1ac5@webmail.fh-bingen.de> References: <1104760515.41d94ec3e1ac5@webmail.fh-bingen.de> Message-ID: <20050103150352.GB5471@domm2.zsi.at> Hi! On Mon, Jan 03, 2005 at 02:55:15PM +0100, e_horn@fh-bingen.de wrote: > Wie kann ich den Wert von $id hier in ,my $url importieren? > my $url=&get_s("nucl",$id); > sub get_s($da,$id) > { > my $url='http...db='; > my $da=$_[0]; > my $id=$_[1]; > my $pa='&id='; > my $m='&retmode=xml'; > return $url.$da.$pa.$id.$m; > } Hmm, also die Sub ist zwar etwas seltsam geschrieben, sollte aber funktionieren (zumindest krieg ich mit perl 5.8.5 http...db=nucleo&id=123&retmode=xml zurueck). allerdings wuerde ich dass eher so schreiben: sub get_s { my $da=shift; my $id=shift; return "http...db=$da&id=$id&retmode=xml"; } bist du sicher, dass die von get_s zurueckgegeben URL stimmt? -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/} From e_horn at fh-bingen.de Mon Jan 3 09:16:15 2005 From: e_horn at fh-bingen.de (e_horn@fh-bingen.de) Date: Mon Jan 3 09:16:12 2005 Subject: [Vienna-pm] re Parameter Message-ID: <1104765375.41d961bf36c61@webmail.fh-bingen.de> Hallo! Ja die Url stimmt! Nur wenn ich $id hier in sub pr() reinsetzen will dann funktioniert es nicht! Das komplette Programm holt mir einen XMLurl und processiert diese $id! Nun will ich den Zahlenwert als $id in &get("protein",....$id);importieren! Muss man da referenzieren um den Inhalt von $id zubekommen? Gruss sub pr() { my $xmldoc = $_[0]; my $parser = new XML::DOM::Parser; my $doc = $parser->parse($xmldoc); my $nodes = $doc->getElementsByTagName("..."); for (my $i=0; $i<$nodes->getLength(); $i++) {my $node = $nodes->item($i); my $accessions=$node->getElementsByTagName("..."); my $id=processNode($accessions->item($i)); my $url= &get_s("protein",$id); my $doc_summary=get $url; } ------------------------------------------------- This mail sent through IMP: http://horde.org/imp/ From domm at zsi.at Mon Jan 3 09:31:27 2005 From: domm at zsi.at (Thomas Klausner) Date: Mon Jan 3 09:26:58 2005 Subject: [Vienna-pm] re Parameter In-Reply-To: <1104765375.41d961bf36c61@webmail.fh-bingen.de> References: <1104765375.41d961bf36c61@webmail.fh-bingen.de> Message-ID: <20050103153127.GD5471@domm2.zsi.at> Hi! On Mon, Jan 03, 2005 at 04:16:15PM +0100, e_horn@fh-bingen.de wrote: > Ja die Url stimmt! > Nur wenn ich $id hier in sub pr() > reinsetzen will dann funktioniert es nicht! funktionierts, wenn du statt $id eine Zahl uebergibts? (also my $url= &get_s("protein",1234); Was genau gibt processNode zurueck? Vielleicht irgendeine Objekt? Versuch mal: my $id=processNode($accessions->item($i)); use Data::Dumper; print Dumper($id); oder jag das Ding durch den debugger (perl -d script.pl) Oder steh ich irgendwie auf der Leitung und versteh das Problem nicht? -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/} From gooly at gmx.at Mon Jan 3 09:42:14 2005 From: gooly at gmx.at (Carl A. Schreiber) Date: Mon Jan 3 09:42:18 2005 Subject: [Vienna-pm] ZeitZonen Message-ID: <200501031642.14505.gooly@gmx.at> Hallo, das ist nur indirekt eine Perl Frage, da ich die Zeitzonen halt mit Perl umrechne, aber irgenwie krieg ich's nicht hin: PST (Pacific) -> GMT -> PST PST -> GMT -> MEZ und so weiter.. Ich m?chte aus der PST-Zeit wieder eine PST-Zeit machen, wo liegt mein Denkfehler? Tipps? Also: #! /usr/bin/perl use Time::ParseDate; use Time::Zone; my $s = "Jan-08-05 22:34:48 PST"; @i = split /\s+/, $s; print join '; ', @i, "\n\n"; $i[0] = "$2 $1 $3" if ($i[0] =~ /(\w+)[\s-](\d+)[\s-](\d+)/); $time{eDay} = $i[0]; $time{eTime} = $i[1]; $time{eTeZo} = $i[2]; $time{OFF} = tz_offset($i[2]); $time{gmtSec} = parsedate($time{eDay}.' '.$time{eTime}, ZONE => $time{eTeZo}); $time{xGMT} = scalar localtime($time{gmtSec}); $time{offSek} = $time{gmtSec} - $time{OFF} ; $time{xEND} = scalar localtime($time{offSek}); foreach (sort keys %time) { print "\t$_ => \t$time{$_}\n"; } From domm at zsi.at Wed Jan 5 10:24:16 2005 From: domm at zsi.at (Thomas Klausner) Date: Wed Jan 5 10:19:44 2005 Subject: [Vienna-pm] YAPC::EU::2005 Call for Papers Message-ID: <20050105162416.GB16321@domm2.zsi.at> Yay! Wiedermal YAPC! ----- Forwarded message from Jose Castro ----- Date: Tue, 4 Jan 2005 10:29:16 +0000 From: Jose Castro To: conferences@yapceurope.org Subject: YAPC::EU::2005 Call for Papers This is the first Call for Papers for YAPC::EU::2005 Location: University of Minho, Braga, Portugal Dates: 31 of August to 2 September of 2005. Important deadlines: * Proposal Submission Deadline: Sunday, May 15th 2005 Speaker * Notification: Monday, Sunday, June 19th 2005 Papers/Slides * for Proceedings: Sunday, July 31th 2005 The theme for this year's conference is "Perl Everywhere"; we are therefore looking for talks on this topic. Show us on which platforms you use Perl and what for. We will also, of course, accept talks on topics that are not related to the theme. If you have an idea for a talk you'd like to give, or a topic you'd like to hear a talk on, you should post a synopsis on our conference wiki (http://braga.yapceurope.org/index.cgi?TalkProposals) to see what others think. Proposed talks with a favourable response on the wiki have a better chance of getting accepted! Please submit your proposals to no later than midnight GMT on Sunday, May 15th. Each submission should be for only one talk, and should include a brief bio, the talk title, the proposed length for the talk, and a brief description of it. An outline of the main points can also be helpful, and is required for tutorial proposals. Each speaker may submit as many talks as he/she wants to. All speakers will have their registration fee waived. We will be offering a number of time-slots for talks: Standard: 20 minutes This is the preferred format. It is expected that the majority of talks will be of this length. Long : 40 minutes Long talks are reserved for experienced speakers covering large topics. If you have an in-depth topic you would like to present in some detail, perhaps with considerable discussion, a double-slot may be available. However you should also consider splitting it into two standard talks (perhaps an introduction and a more advanced talk). Tutorial: 3 hours (including break) Half-day tutorials. These tutorials tend to cover a wide range of material on a certain aspect of Perl programming. For example, an XML tutorial could cover XML basics, to writing XML, to parsing XML, to practical uses of XML. Conference organisers reserve the right to change the length assigned to a talk, if deemed appropriate. Some notes: Please distribute to your local Perl Monger groups, to your friends and whoever you find appropriate. We apologize if you receive this more than once, we're merely trying to get through to as many people as possible. -- Jose Alves de Castro http://jose-castro.org/ ----- End forwarded message ----- -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/} From wolfgang.laun at alcatel.at Sun Jan 9 04:27:19 2005 From: wolfgang.laun at alcatel.at (LAUN Wolfgang) Date: Sun Jan 9 09:45:05 2005 Subject: [Vienna-pm] Parameteruebergabe Message-ID: Ist das Programm - speziell die Subroutine get_s - in der Mail korrekt wiedergegeben? Der Beginn sub get_s($da,$id) f?hrt zu einer Fehlermeldung schon bei der Syntaxanalyse des Perl-Programms (m it 5.6.1 und 5.8.x). Wie sieht das wirklich aus bzw. mit welcher Perl-Version liefert das keinen Fehler? Wolfgang -----Original Message----- From: e_horn@fh-bingen.de To: vienna-pm@mail.pm.org Sent: 03.01.2005 14:55 Subject: [Vienna-pm] Parameteruebergabe Hallo ich bin neu bei euch! Und hoffe jmd kann mir weiterhelfen. Ich moechte die Wertr fuer $id in sub pr() uebergeben! Mit my $id=processNode($accessions->item($i));bekomme ich eine zahl herau welche ich in my $url einlesen lassen will! Wie kann ich den Wert von $id hier in ,my $url importieren? my $url=&get_s("nucl",$id); Ueber Hilfe waere ich sehr sehr dankbar! Gruss sub get_s($da,$id) { my $url='http...db='; my $da=$_[0]; my $id=$_[1]; my $pa='&id='; my $m='&retmode=xml'; return $url.$da.$pa.$id.$m; } sub pr() { my $xmldoc = $_[0]; my $parser = new XML::DOM::Parser; my $doc = $parser->parse($xmldoc); my $nodes = $doc->getElementsByTagName("..."); for (my $i=0; $i<$nodes->getLength(); $i++) {my $node = $nodes->item($i); my $accessions=$node->getElementsByTagName(""); my $id=processNode($accessions->item($i)); my $url=&get_s("nucleo",$id); my $doc_s=get $url;} ------------------------------------------------- This mail sent through IMP: http://horde.org/imp/ _______________________________________________ Vienna-pm mailing list Vienna-pm@mail.pm.org http://mail.pm.org/mailman/listinfo/vienna-pm From e_horn at fh-bingen.de Mon Jan 10 00:17:00 2005 From: e_horn at fh-bingen.de (e_horn@fh-bingen.de) Date: Mon Jan 10 00:17:22 2005 Subject: [Vienna-pm] Parameteruebergabe Message-ID: <1105345020.41e239fc9b6dd@webmail.fh-bingen.de> Morgen! Ja habe die sub hier umbenannt! Das Problem hat sich geloest! Beim Parsen wurde immer ein return angefuegt so dass ich keine ausammenhaengende url als Resultat bekam sondern ein leerzeichen dazwischen! Aber trotzdem danke fuer alle Antworten! Scheonen Tag noch ------------------------------------------------- This mail sent through IMP: http://horde.org/imp/ From e_horn at fh-bingen.de Tue Jan 11 02:30:51 2005 From: e_horn at fh-bingen.de (e_horn@fh-bingen.de) Date: Tue Jan 11 02:31:12 2005 Subject: [Vienna-pm] Atribute processieren Message-ID: <1105439451.41e3aadbc28b9@webmail.fh-bingen.de> Hallo ich moechte mit XML::DOM einige attribute parsen! use strict; use XML::DOM; use LWP::Simple; sub get_SummeryHTMLunigene($db,$id) { my $url = 'http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi?db='; my $db = $_[0]; my $id = $_[1]; my $parameter_id='&id='; my $mode='&retmode=xml'; my $xmlurl=$url.$db.$parameter_id.$id.$mode; my $dokument = get($xmlurl); unless (defined $dokument) { print "ERROR\n"; exit }; my $parser = XML::DOM::Parser->new(); my $doc = $parser->parsefile($xmlurl); my $result=""; foreach my $species ($doc->getElementsByTagName('DocSum')) { $result.= ""; $result.= $species->getElementsByTagName('Item'); $result.=(' .$species->getAttribute('TaxId')'); $result.= ""; $result.= ""; } return $result; } my $html= &get_SummeryHTMLunigene("homologene",6945); print $html; Die Ausgabe ist:XML::DOM::NodeList=ARRAY(0x104eeb8c) kann mir jemand von euch sagen wo mein fehler liegt?? Vielen Dank ------------------------------------------------- This mail sent through IMP: http://horde.org/imp/ From hjp at wsr.ac.at Tue Jan 11 03:38:15 2005 From: hjp at wsr.ac.at (Peter J. Holzer) Date: Tue Jan 11 03:38:30 2005 Subject: [Vienna-pm] Atribute processieren In-Reply-To: <1105439451.41e3aadbc28b9@webmail.fh-bingen.de> References: <1105439451.41e3aadbc28b9@webmail.fh-bingen.de> Message-ID: <20050111113815.GC21996@wsr.ac.at> On 2005-01-11 11:30:51 +0100, e_horn@fh-bingen.de wrote: > Hallo ich moechte mit XML::DOM einige attribute parsen! Bei mir l?uft das erst mal gar nicht: | Illegal character in prototype for main::get_SummeryHTMLunigene : | $db,$id at ./foo line 7. Welche Perl-Version verwendest Du? Die Syntax > sub get_SummeryHTMLunigene($db,$id) kenne ich nicht und mein perl (5.8.3) auch nicht. Ich w?rde das sub get_SummeryHTMLunigene($$) schreiben. | Bad name after TaxId' at ./foo line 28. > $result.=(' .$species->getAttribute('TaxId')'); Ja, da sind eindeutig entweder zuviel oder zuwenig Quotes. > $result.= $species->getElementsByTagName('Item'); getElementsByTagName liefert Dir ein Objekt vom Typ XML::DOM::NodeList (wie man im Output auch sch?n sieht). Das kannst Du nicht einfach an einen String anh?ngen, sondern musst Dir die gew?nschten Felder herausklauben (wobei ich annehme, dass Du tats?chlich Felder der Elemente der Liste haben willst). hp -- _ | Peter J. Holzer | If the code is old but the problem is new |_|_) | Sysadmin WSR / LUGA | then the code probably isn't the problem. | | | hjp@wsr.ac.at | __/ | http://www.hjp.at/ | -- Tim Bunce on dbi-users, 2004-11-05 -------------- 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/pipermail/vienna-pm/attachments/20050111/91ccba55/attachment-0001.bin From domm at zsi.at Tue Jan 11 04:26:59 2005 From: domm at zsi.at (Thomas Klausner) Date: Tue Jan 11 04:22:06 2005 Subject: [Vienna-pm] Atribute processieren In-Reply-To: <1105439451.41e3aadbc28b9@webmail.fh-bingen.de> References: <1105439451.41e3aadbc28b9@webmail.fh-bingen.de> Message-ID: <20050111122659.GC11974@domm2.zsi.at> Hi! On Tue, Jan 11, 2005 at 11:30:51AM +0100, e_horn@fh-bingen.de wrote: > use strict; > use XML::DOM; > use LWP::Simple; > > > sub get_SummeryHTMLunigene($db,$id) das geht bei mir (perl.5.8.5), wobei auch eher ($$) schreiben wuerde, wenn ich unbedingt Prototypen verwenden wollte - was ich so gut wie nie will > { > > my $url = 'http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi?db='; > my $db = $_[0]; > my $id = $_[1]; > my $parameter_id='&id='; > my $mode='&retmode=xml'; > my $xmlurl=$url.$db.$parameter_id.$id.$mode; > my $dokument = get($xmlurl); > unless (defined $dokument) { print "ERROR\n"; exit }; > my $parser = XML::DOM::Parser->new(); > > > my $doc = $parser->parsefile($xmlurl); > my $result=""; > foreach my $species ($doc->getElementsByTagName('DocSum')) > { > $result.= ""; > $result.= $species->getElementsByTagName('Item'); $species->getElementsByTagName('Item') ist ein XML::DOM::NodeList Objekt, das wohl nicht einfach so stringifiziert werden kann. foreach ($species->getElementsByTagName('Item')){ $result.=$_->getTagName."\n"; } liefert ein schoeneres Ergebnis, wenn auch nicht sehr aussagekraeftig (viele "Item"s). Leider hab ich keine Ahnung, warom es in dem XML geht bzw wie es ausschaut, aber $_->getAttribute('was_du_brauchst') wird wohl Siinn machen. > $result.=(' .$species->getAttribute('TaxId')'); das wird wohl auch nicht stimme, eher: $result.=$species->getAttribute('TaxId'); > $result.= ""; > > $result.= ""; > > } > return $result; > } > > > my $html= &get_SummeryHTMLunigene("homologene",6945); > print $html; > > Die Ausgabe ist:XML::DOM::NodeList=ARRAY(0x104eeb8c) > kann mir jemand von euch sagen wo mein fehler liegt?? > Vielen Dank > > > ------------------------------------------------- > This mail sent through IMP: http://horde.org/imp/ > _______________________________________________ > Vienna-pm mailing list > Vienna-pm@pm.org > http://mail.pm.org/mailman/listinfo/vienna-pm > -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/} From domm at zsi.at Tue Jan 11 04:26:59 2005 From: domm at zsi.at (Thomas Klausner) Date: Tue Jan 11 04:22:07 2005 Subject: [Vienna-pm] Atribute processieren In-Reply-To: <1105439451.41e3aadbc28b9@webmail.fh-bingen.de> References: <1105439451.41e3aadbc28b9@webmail.fh-bingen.de> Message-ID: <20050111122659.GC11974@domm2.zsi.at> Hi! On Tue, Jan 11, 2005 at 11:30:51AM +0100, e_horn@fh-bingen.de wrote: > use strict; > use XML::DOM; > use LWP::Simple; > > > sub get_SummeryHTMLunigene($db,$id) das geht bei mir (perl.5.8.5), wobei auch eher ($$) schreiben wuerde, wenn ich unbedingt Prototypen verwenden wollte - was ich so gut wie nie will > { > > my $url = 'http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi?db='; > my $db = $_[0]; > my $id = $_[1]; > my $parameter_id='&id='; > my $mode='&retmode=xml'; > my $xmlurl=$url.$db.$parameter_id.$id.$mode; > my $dokument = get($xmlurl); > unless (defined $dokument) { print "ERROR\n"; exit }; > my $parser = XML::DOM::Parser->new(); > > > my $doc = $parser->parsefile($xmlurl); > my $result=""; > foreach my $species ($doc->getElementsByTagName('DocSum')) > { > $result.= ""; > $result.= $species->getElementsByTagName('Item'); $species->getElementsByTagName('Item') ist ein XML::DOM::NodeList Objekt, das wohl nicht einfach so stringifiziert werden kann. foreach ($species->getElementsByTagName('Item')){ $result.=$_->getTagName."\n"; } liefert ein schoeneres Ergebnis, wenn auch nicht sehr aussagekraeftig (viele "Item"s). Leider hab ich keine Ahnung, warom es in dem XML geht bzw wie es ausschaut, aber $_->getAttribute('was_du_brauchst') wird wohl Siinn machen. > $result.=(' .$species->getAttribute('TaxId')'); das wird wohl auch nicht stimme, eher: $result.=$species->getAttribute('TaxId'); > $result.= ""; > > $result.= ""; > > } > return $result; > } > > > my $html= &get_SummeryHTMLunigene("homologene",6945); > print $html; > > Die Ausgabe ist:XML::DOM::NodeList=ARRAY(0x104eeb8c) > kann mir jemand von euch sagen wo mein fehler liegt?? > Vielen Dank > > > ------------------------------------------------- > This mail sent through IMP: http://horde.org/imp/ > _______________________________________________ > Vienna-pm mailing list > Vienna-pm@pm.org > http://mail.pm.org/mailman/listinfo/vienna-pm > -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/} From maros at k-1.com Fri Jan 14 03:57:47 2005 From: maros at k-1.com (=?iso-8859-2?Q?Maros_Koll=E1r?=) Date: Fri Jan 14 03:58:38 2005 Subject: [Vienna-pm] Web Umgebung in Perl Message-ID: <200501141158.j0EBvsex012056@www.k-1.com> Hallo Allerseits, Ich habe ?ber die letzten paar Jahre hinweg langsam aber kontinuierlich an einem netten (glaube ich zumindest) Tool gearbeitet dass ich euch auf diesem Wege jetzt zukommen lassen will: Es handelt sich dabei um eine Umgebung in der man relativ einfach und schnell Web Applikationen bauen kann. Ich habe selber schon ein mittelgro?es CMS, ein paar kleinere Tools und etliche Seiten in dieser Umgebung implementiert. Highlights: - Template Parser mit XML Syntax (f?r alle die XML nicht m?gen l?sst sich das sicher relativ leicht umbauen) z.B. oder text und tags Die Attribute k?nnen Strings, oder Variablen beinhalten. z.B. attribut="[test]" Variablen k?nnen auch auf komplexe Perl Datenstrukturen referenzieren z.B. attribut="[test->3->[element->2]->id]" entspricht $var->{'test'}[3]{$var->{'element'}[2]}{'id'} Der Namespace steht f?r eine Syntaxdefinition; es gibt 7 Standard Syntaxdefinition die geladen werden k?nnen - ws-Syntaxdefinition: for,foreach Schleifen; Switch,If-Elsif-Else, Equal, Notequal Vergleiche; Variablen ausgeben und setzen; Weitere Templates einf?gen; Perl Code ausf?hren; ... - sub-Syntaxdefinition: Beliebige Bl?cke als Subroutinen definieren und ausf?hren - parser-Syntaxdefinition: Mit dem Output herumspielen (l?schen, speichern, laden, filtern, ...) - debug-Syntaxdefinition: Einfache Dumps (Nodes und Variablen) - (!)grid-Syntaxdefinition: Automatisches Editieren von Datenbank Tabellen (Tabellenansicht) - (!)mask-Syntaxdefinition: ?hnlich wie grid, jedoch nur mit einem Datensatz pro Seite. - my-Syntaxdefinition: Benutzerdefinierte Funktionen in Perl. Weitere Syntaxdefinition k?nnen leicht erstellt werden. - "Sch?ne URLS" z.b: http://www.domain.tld/index.pl/dir/menu.html (index.pl kann mit mod_rewrite nat?rlich maskiert werden) - Einfacher Umgang mit URL Parametern, Cookies und CGI Parametern z.b. http://www.domain.tld/index.pl/$parameter1=wert;parameter2=wert$/... - Gutes Error Handling (Fast) Alle Fehler werden intern abgefangen und behandelt. - Brauchbare Hilfsmodule Wrapper f?r DBI::Mysql, MIME Mails erstellen/versenden, ... Unter www.futurelabs.net/FUTUREENV.zip findet ihr das Tool mit einer rudiment?ren Doku (die Doku habe ich auf die Schnelle aus der Doku f?r das CMS erstellt; daher nicht ganz konsistent - Was nicht in dieser Doku steht findet ihr wahrscheinlich im Quellcode) und einigen einfachen Beispielen. Verbesserungsvorschl?ge, Kritik, Beitr?ge (z.B. in Form von neuen Syntaxdefinitionen oder anderen Erweiterungen) und nat?rlich die Verwendung dieses Tools sind hoch willkommen. Wenn das Ding ankommt werde ich es irgendwo allgemein zug?nglich aufstellen. Hoffe es funtioniert alles da ich bis zuletzt an den Details geschraubt habe. Falls es Fragen gibt bin ich gerne bereit diese zu beantworten Beste Gr??e Maro? Ps.: Der Parser l?sst sich nat?rlich auch in einer anderen Umgebung benutzen (Beispieldatei ist beigef?gt) -- e-mail: maros |at| k-1.com web: http://www.k-1.com pgp key: http://www.k-1.com/pgpkey.txt icq: 12281254 _________________________________ "You need something to frighten people with - to prevent them from paying attention tho what's really happening to them" ,Noam Chomsky From maros at k-1.com Fri Jan 14 03:57:47 2005 From: maros at k-1.com (=?iso-8859-2?Q?Maros_Koll=E1r?=) Date: Fri Jan 14 03:58:39 2005 Subject: [Vienna-pm] Web Umgebung in Perl Message-ID: <200501141158.j0EBvsex012056@www.k-1.com> Hallo Allerseits, Ich habe ?ber die letzten paar Jahre hinweg langsam aber kontinuierlich an einem netten (glaube ich zumindest) Tool gearbeitet dass ich euch auf diesem Wege jetzt zukommen lassen will: Es handelt sich dabei um eine Umgebung in der man relativ einfach und schnell Web Applikationen bauen kann. Ich habe selber schon ein mittelgro?es CMS, ein paar kleinere Tools und etliche Seiten in dieser Umgebung implementiert. Highlights: - Template Parser mit XML Syntax (f?r alle die XML nicht m?gen l?sst sich das sicher relativ leicht umbauen) z.B. oder text und tags Die Attribute k?nnen Strings, oder Variablen beinhalten. z.B. attribut="[test]" Variablen k?nnen auch auf komplexe Perl Datenstrukturen referenzieren z.B. attribut="[test->3->[element->2]->id]" entspricht $var->{'test'}[3]{$var->{'element'}[2]}{'id'} Der Namespace steht f?r eine Syntaxdefinition; es gibt 7 Standard Syntaxdefinition die geladen werden k?nnen - ws-Syntaxdefinition: for,foreach Schleifen; Switch,If-Elsif-Else, Equal, Notequal Vergleiche; Variablen ausgeben und setzen; Weitere Templates einf?gen; Perl Code ausf?hren; ... - sub-Syntaxdefinition: Beliebige Bl?cke als Subroutinen definieren und ausf?hren - parser-Syntaxdefinition: Mit dem Output herumspielen (l?schen, speichern, laden, filtern, ...) - debug-Syntaxdefinition: Einfache Dumps (Nodes und Variablen) - (!)grid-Syntaxdefinition: Automatisches Editieren von Datenbank Tabellen (Tabellenansicht) - (!)mask-Syntaxdefinition: ?hnlich wie grid, jedoch nur mit einem Datensatz pro Seite. - my-Syntaxdefinition: Benutzerdefinierte Funktionen in Perl. Weitere Syntaxdefinition k?nnen leicht erstellt werden. - "Sch?ne URLS" z.b: http://www.domain.tld/index.pl/dir/menu.html (index.pl kann mit mod_rewrite nat?rlich maskiert werden) - Einfacher Umgang mit URL Parametern, Cookies und CGI Parametern z.b. http://www.domain.tld/index.pl/$parameter1=wert;parameter2=wert$/... - Gutes Error Handling (Fast) Alle Fehler werden intern abgefangen und behandelt. - Brauchbare Hilfsmodule Wrapper f?r DBI::Mysql, MIME Mails erstellen/versenden, ... Unter www.futurelabs.net/FUTUREENV.zip findet ihr das Tool mit einer rudiment?ren Doku (die Doku habe ich auf die Schnelle aus der Doku f?r das CMS erstellt; daher nicht ganz konsistent - Was nicht in dieser Doku steht findet ihr wahrscheinlich im Quellcode) und einigen einfachen Beispielen. Verbesserungsvorschl?ge, Kritik, Beitr?ge (z.B. in Form von neuen Syntaxdefinitionen oder anderen Erweiterungen) und nat?rlich die Verwendung dieses Tools sind hoch willkommen. Wenn das Ding ankommt werde ich es irgendwo allgemein zug?nglich aufstellen. Hoffe es funtioniert alles da ich bis zuletzt an den Details geschraubt habe. Falls es Fragen gibt bin ich gerne bereit diese zu beantworten Beste Gr??e Maro? Ps.: Der Parser l?sst sich nat?rlich auch in einer anderen Umgebung benutzen (Beispieldatei ist beigef?gt) -- e-mail: maros |at| k-1.com web: http://www.k-1.com pgp key: http://www.k-1.com/pgpkey.txt icq: 12281254 _________________________________ "You need something to frighten people with - to prevent them from paying attention tho what's really happening to them" ,Noam Chomsky From Oliver.Baier at lotterien.at Mon Jan 17 06:43:19 2005 From: Oliver.Baier at lotterien.at (Baier Oliver) Date: Mon Jan 17 06:49:11 2005 Subject: [Vienna-pm] fork & verschiedene filehandles Message-ID: <204DB1982528124DAB948D996ECC859A4CECD1@EXCHCLU1.office.lottery.co.at> Hi, filehandles und deren Uebergabe kristallisieren sich schoen langsam als Schwachstelle von mir heraus. Ich habe ein Programm, das parallel mehrere child-Prozesse forked. Da ich Infos von den children an den parent schicken will, hatte ich zuerst vor den forks ein "pipe FROM_CHILD, TO_PARENT;". Das klappt zwar, doch weiss ich ohne besondere Vorkehrungen nicht, von welchem child die message kam; und ich will es vermeiden jeder Info die child-pid voranzustellen und sie dann im parent zu analysieren. Ich wuerde gerne zu jedem child eine pipe aufmachen, doch weiss ich nicht, wie ich's angehen soll. Dieser Ansatz funktioniert nicht: my($FROM_CHILD, $TO_PARENT) = &getfh; FORK: if (my $childpid = fork) {... sub getfh { local *FROM_CHILD; local *TO_PARENT; pipe FROM_CHILD, TO_PARENT; TO_PARENT->autoflush(1); return *FROM_CHILD, *TO_PARENT; } Bitte um einen Tip. lg Oliver ===================================================== Die ?bermittelten Informationen sind nur f?r die Organisation/Person bestimmt, an die sie adressiert sind und k?nnen pers?nliches, vertrauliches oder rechtlich gesch?tztes Material enthalten. Andere Personen als der beabsichtigte Empf?nger dieser E-Mail sind nicht dazu befugt, diese Informationen abzurufen, weiterzuleiten, zu reproduzieren oder auf sonstige andere Weise zu verwenden. F?r den Fall, dass Sie diese Nachricht irrt?mlicherweise erhalten haben, wenden Sie sich bitte an den Absender und l?schen Sie diese. HINWEIS: E-Mail-Verkehr ist nicht sicher und es kann nicht garantiert werden, dass Informationen vollst?ndig, unverf?lscht, etc. beim Empf?nger ankommen. ===================================================== The transmitted information is only meant for the addressed organization/person and may contain personal, confidential or legally protected material. Other persons than the intended addressee are not allowed to retrieve, forward, reproduce or use this information in any manner. If you received this message by mistake, please consult the sender and erase it. NOTICE: E-Mail-traffic may not be safe and it can not be assured that the received information is complete, accurate, etc. From mjy at geizhals.at Mon Jan 17 06:57:26 2005 From: mjy at geizhals.at (Marinos J. Yannikos) Date: Mon Jan 17 06:57:39 2005 Subject: [Vienna-pm] fork & verschiedene filehandles In-Reply-To: <204DB1982528124DAB948D996ECC859A4CECD1@EXCHCLU1.office.lottery.co.at> References: <204DB1982528124DAB948D996ECC859A4CECD1@EXCHCLU1.office.lottery.co.at> Message-ID: <41EBD256.4040800@geizhals.at> Baier Oliver wrote: > Ich wuerde gerne zu jedem child eine pipe aufmachen, doch weiss ich > nicht, wie ich's angehen soll. Dieser Ansatz funktioniert nicht: Ich hatte das mal so gel?st (ohne besonders viele Vorkenntnisse): use IPC::Run qw (start finish); for my $i (0..$np-1) { my ($r,$w,$err)=(IO::Handle->new,IO::Handle->new,IO::Handle->new); my $h = start \@cmd, debug => 1, 'pipe', $w, '2>pipe', $err || print STDERR "start failed: $?\n"; $pconnections[$i]=[$r,$w]; } stdin/out (der childs) sind dann $pconnections[$i][0/1] Nachteil f?r dich: die child-Prozesse sind hier extern (@cmd = f?r die shell). AFAIR habe ich das damals nach einem Tipp auf dieser Liste gebastelt ... MfG, -mjy From Oliver.Baier at lotterien.at Mon Jan 17 23:32:17 2005 From: Oliver.Baier at lotterien.at (Baier Oliver) Date: Mon Jan 17 23:33:12 2005 Subject: AW: [Vienna-pm] fork & verschiedene filehandles Message-ID: <204DB1982528124DAB948D996ECC859A4CECD3@EXCHCLU1.office.lottery.co.at> > -----Urspr?ngliche Nachricht----- > Von: vienna-pm-bounces@pm.org [mailto:vienna-pm-bounces@pm.org] > Gesendet: Montag, 17. J?nner 2005 15:57 > > Ich hatte das mal so gel?st (ohne besonders viele Vorkenntnisse): > > use IPC::Run qw (start finish); > > for my $i (0..$np-1) > { > my > ($r,$w,$err)=(IO::Handle->new,IO::Handle->new,IO::Handle->new); > my $h = start \@cmd, > debug => 1, > ' '>pipe', $w, > '2>pipe', $err > || print STDERR "start failed: $?\n"; > > $pconnections[$i]=[$r,$w]; > } besten Dank fuer den Tip! (kenne leider nur wenige CPAN-Module) > Nachteil f?r dich: die child-Prozesse sind hier extern (@cmd > = f?r die shell). ist fuer mich kein Nachteil, da die Child-Prozesse in diesem Fall eh Shell-Commands sind :-) > AFAIR habe ich das damals nach einem Tipp auf dieser Liste > gebastelt ... was soll ich da sagen? ;-) mfg Oliver ===================================================== Die ?bermittelten Informationen sind nur f?r die Organisation/Person bestimmt, an die sie adressiert sind und k?nnen pers?nliches, vertrauliches oder rechtlich gesch?tztes Material enthalten. Andere Personen als der beabsichtigte Empf?nger dieser E-Mail sind nicht dazu befugt, diese Informationen abzurufen, weiterzuleiten, zu reproduzieren oder auf sonstige andere Weise zu verwenden. F?r den Fall, dass Sie diese Nachricht irrt?mlicherweise erhalten haben, wenden Sie sich bitte an den Absender und l?schen Sie diese. HINWEIS: E-Mail-Verkehr ist nicht sicher und es kann nicht garantiert werden, dass Informationen vollst?ndig, unverf?lscht, etc. beim Empf?nger ankommen. ===================================================== The transmitted information is only meant for the addressed organization/person and may contain personal, confidential or legally protected material. Other persons than the intended addressee are not allowed to retrieve, forward, reproduce or use this information in any manner. If you received this message by mistake, please consult the sender and erase it. NOTICE: E-Mail-traffic may not be safe and it can not be assured that the received information is complete, accurate, etc. From e_horn at fh-bingen.de Tue Jan 18 06:38:38 2005 From: e_horn at fh-bingen.de (e_horn@fh-bingen.de) Date: Tue Jan 18 06:39:09 2005 Subject: [Vienna-pm] Quelltext Message-ID: <1106059118.41ed1f6eea2a2@webmail.fh-bingen.de> Hallo! Kann mir jmd sagen wo ich ein paar links zu fertigen Programmen finden kann? Sachen wie Zweierkomplement errechnen oder Gleitpunktzahlen... Gruss ------------------------------------------------- This mail sent through IMP: http://horde.org/imp/ From Oliver.Baier at lotterien.at Tue Jan 18 06:46:17 2005 From: Oliver.Baier at lotterien.at (Baier Oliver) Date: Tue Jan 18 06:50:15 2005 Subject: AW: [Vienna-pm] Quelltext Message-ID: <204DB1982528124DAB948D996ECC859A4C83FA@EXCHCLU1.office.lottery.co.at> Hast du im CPAN nichts gefunden? (zB. http://search.cpan.org/~tels/Math-BigInt-1.74/lib/Math/BigFloat.pm) mfg Oliver > -----Urspr?ngliche Nachricht----- > Von: vienna-pm-bounces@pm.org [mailto:vienna-pm-bounces@pm.org]Im > Auftrag von e_horn@fh-bingen.de > Gesendet: Dienstag, 18. J?nner 2005 15:39 > An: vienna-pm@mail.pm.org > Betreff: [Vienna-pm] Quelltext > > > Hallo! > Kann mir jmd sagen wo ich ein paar links zu fertigen > Programmen finden kann? > Sachen wie Zweierkomplement errechnen oder Gleitpunktzahlen... > Gruss > > > > > ------------------------------------------------- > This mail sent through IMP: http://horde.org/imp/ > _______________________________________________ > Vienna-pm mailing list > Vienna-pm@pm.org > http://mail.pm.org/mailman/listinfo/vienna-pm > ===================================================== Die ?bermittelten Informationen sind nur f?r die Organisation/Person bestimmt, an die sie adressiert sind und k?nnen pers?nliches, vertrauliches oder rechtlich gesch?tztes Material enthalten. Andere Personen als der beabsichtigte Empf?nger dieser E-Mail sind nicht dazu befugt, diese Informationen abzurufen, weiterzuleiten, zu reproduzieren oder auf sonstige andere Weise zu verwenden. F?r den Fall, dass Sie diese Nachricht irrt?mlicherweise erhalten haben, wenden Sie sich bitte an den Absender und l?schen Sie diese. HINWEIS: E-Mail-Verkehr ist nicht sicher und es kann nicht garantiert werden, dass Informationen vollst?ndig, unverf?lscht, etc. beim Empf?nger ankommen. ===================================================== The transmitted information is only meant for the addressed organization/person and may contain personal, confidential or legally protected material. Other persons than the intended addressee are not allowed to retrieve, forward, reproduce or use this information in any manner. If you received this message by mistake, please consult the sender and erase it. NOTICE: E-Mail-traffic may not be safe and it can not be assured that the received information is complete, accurate, etc. From wolfgang.laun at alcatel.at Tue Jan 18 07:25:32 2005 From: wolfgang.laun at alcatel.at (LAUN Wolfgang) Date: Tue Jan 18 07:30:32 2005 Subject: [Vienna-pm] Quelltext Message-ID: Ein etwas pr?zisere Fragestellung w?re hilfreich. Wenn mit "Zweierkomplement" die Darstellung einer Ganzzahl gemeint ist, so wird sich daf?r wohl kaum ein Programm finden, weil das (in Perl) k?rzer als der URL dorthin w?re ;-) Mit "Gleitpunktzahlen" (s/punkt/komma/) kann man soooo viel machen, also? mfg Wolfgang -----Original Message----- From: e_horn@fh-bingen.de To: vienna-pm@mail.pm.org Sent: 18.01.2005 15:38 Subject: [Vienna-pm] Quelltext Hallo! Kann mir jmd sagen wo ich ein paar links zu fertigen Programmen finden kann? Sachen wie Zweierkomplement errechnen oder Gleitpunktzahlen... Gruss ------------------------------------------------- This mail sent through IMP: http://horde.org/imp/ _______________________________________________ Vienna-pm mailing list Vienna-pm@pm.org http://mail.pm.org/mailman/listinfo/vienna-pm From gooly at gmx.at Fri Jan 21 01:31:58 2005 From: gooly at gmx.at (Carl A. Schreiber) Date: Fri Jan 21 01:32:11 2005 Subject: [Vienna-pm] STDOUT-Umleitung Message-ID: <200501211031.58165.gooly@gmx.at> Hallo, kann man eigentlich innerhalb eines Perl Programms herausfinden ob STDOUT 'aussen' (= beim Aufruf: ./bsp.pl >file.txt) in ein File umgeleitet wurde? Dann sollte z.B. in STDERR andernfalls ist alles doppelt.. Danke Calli From domm at zsi.at Fri Jan 21 01:41:04 2005 From: domm at zsi.at (Thomas Klausner) Date: Fri Jan 21 01:35:17 2005 Subject: [Vienna-pm] STDOUT-Umleitung Message-ID: <20050121094104.GC11077@domm2.zsi.at> Hi! On Fri, Jan 21, 2005 at 10:31:58AM +0100, Carl A. Schreiber wrote: > kann man eigentlich innerhalb eines Perl Programms herausfinden ob STDOUT > 'aussen' (= beim Aufruf: ./bsp.pl >file.txt) in ein File umgeleitet wurde? Ich vermute nicht, weil das ja das OS macht. Perl selber gibt einfach was auch immer nach STDOUT aus, aber das OS leitet das dann in file.txt um. Aber ich koennte mich irren, bin nicht so der Linux-Profi > Dann sollte z.B. in STDERR andernfalls ist alles doppelt.. Den Satz versteh ich nicht. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/} From gooly at gmx.at Fri Jan 21 01:49:03 2005 From: gooly at gmx.at (Carl A. Schreiber) Date: Fri Jan 21 01:49:16 2005 Subject: [Vienna-pm] STDOUT-Umleitung In-Reply-To: <20050121094104.GC11077@domm2.zsi.at> References: <20050121094104.GC11077@domm2.zsi.at> Message-ID: <200501211049.03286.gooly@gmx.at> Am Freitag, 21. Januar 2005 10:41 schrieb Thomas Klausner: > Hi! > > On Fri, Jan 21, 2005 at 10:31:58AM +0100, Carl A. Schreiber wrote: > > kann man eigentlich innerhalb eines Perl Programms herausfinden ob STDOUT > > 'aussen' (= beim Aufruf: ./bsp.pl >file.txt) in ein File umgeleitet > > wurde? > > Ich vermute nicht, weil das ja das OS macht. Perl selber gibt einfach was > auch immer nach STDOUT aus, aber das OS leitet das dann in file.txt um. Naja, ich dachte es gibt eine M?glichkeit herauszufinden wohin z.B. letztendlich STDOUT zeigt, oder welche 'Identit?t' das (der?) Handle es hat. Meine Hoffnung ist gering, aber Perl ist immer wieder ?berraschend, was alles geht.. > > Aber ich koennte mich irren, bin nicht so der Linux-Profi > > > Dann sollte z.B. in STDERR andernfalls ist alles doppelt.. > Den Satz versteh ich nicht. ?hmm, ja, hie? einmal: Dann (wenn umgeleitet) sollte alles in STDERR geschrieben werden, andernfalls (print in STDOUT & SDTERR) ist alles doppelt.. Calli From domm at zsi.at Fri Jan 21 02:01:57 2005 From: domm at zsi.at (Thomas Klausner) Date: Fri Jan 21 01:56:07 2005 Subject: [Vienna-pm] STDOUT-Umleitung In-Reply-To: <200501211049.03286.gooly@gmx.at> References: <20050121094104.GC11077@domm2.zsi.at> <200501211049.03286.gooly@gmx.at> Message-ID: <20050121100157.GE11077@domm2.zsi.at> lHi! On Fri, Jan 21, 2005 at 10:49:03AM +0100, Carl A. Schreiber wrote: > Naja, ich dachte es gibt eine M?glichkeit herauszufinden wohin z.B. > letztendlich STDOUT zeigt, oder welche 'Identit?t' das (der?) Handle es hat. > Meine Hoffnung ist gering, aber Perl ist immer wieder ?berraschend, was alles > geht.. Weiss ich leider nicht. Ich glaub nicht das es geht. Vielleicht (wenn hier sonst niemandem was einfaellt) kann jemand auf perlmonks.org helfen. Was schon geht (aber das ist nicht deine Frage), ist innerhalb des Scripts mit STDIN/OUT/ERROR herumzujonglieren. Ah, vielleicht waere das aber eine Moeglichkeit. Du kannst ja in deinem Script STDIN und OUT quasi zusammenlegen und deine messeges einmal dorthin schicken. Egal, was dann auf der Kommandozeile fuer 2>&1 (oder wie das geht..)-Zeugs gemacht wurde, es kommt der Output nur auf ein Handle -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/} From domm at zsi.at Fri Jan 21 02:01:57 2005 From: domm at zsi.at (Thomas Klausner) Date: Fri Jan 21 01:56:09 2005 Subject: [Vienna-pm] STDOUT-Umleitung In-Reply-To: <200501211049.03286.gooly@gmx.at> References: <20050121094104.GC11077@domm2.zsi.at> <200501211049.03286.gooly@gmx.at> Message-ID: <20050121100157.GE11077@domm2.zsi.at> lHi! On Fri, Jan 21, 2005 at 10:49:03AM +0100, Carl A. Schreiber wrote: > Naja, ich dachte es gibt eine M?glichkeit herauszufinden wohin z.B. > letztendlich STDOUT zeigt, oder welche 'Identit?t' das (der?) Handle es hat. > Meine Hoffnung ist gering, aber Perl ist immer wieder ?berraschend, was alles > geht.. Weiss ich leider nicht. Ich glaub nicht das es geht. Vielleicht (wenn hier sonst niemandem was einfaellt) kann jemand auf perlmonks.org helfen. Was schon geht (aber das ist nicht deine Frage), ist innerhalb des Scripts mit STDIN/OUT/ERROR herumzujonglieren. Ah, vielleicht waere das aber eine Moeglichkeit. Du kannst ja in deinem Script STDIN und OUT quasi zusammenlegen und deine messeges einmal dorthin schicken. Egal, was dann auf der Kommandozeile fuer 2>&1 (oder wie das geht..)-Zeugs gemacht wurde, es kommt der Output nur auf ein Handle -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/} From Oliver.Baier at lotterien.at Fri Jan 21 02:16:03 2005 From: Oliver.Baier at lotterien.at (Baier Oliver) Date: Fri Jan 21 02:16:17 2005 Subject: AW: [Vienna-pm] STDOUT-Umleitung Message-ID: <204DB1982528124DAB948D996ECC859A4CECD4@EXCHCLU1.office.lottery.co.at> > -----Urspr?ngliche Nachricht----- > Von: vienna-pm-bounces@pm.org [mailto:vienna-pm-bounces@pm.org] > Im Auftrag von Carl A. Schreiber > Gesendet: Freitag, 21. J?nner 2005 10:49 > > Naja, ich dachte es gibt eine M?glichkeit herauszufinden wohin z.B. > letztendlich STDOUT zeigt, oder welche 'Identit?t' das (der?) > Handle es hat. soviel ich weiss, ist das leider nicht moeglich, da STDOUT des perl-scripts nur zur shell zeigt, es aber nicht sieht, was die shell damit weiter macht. > Dann (wenn umgeleitet) sollte alles in STDERR geschrieben > werden, andernfalls > (print in STDOUT & SDTERR) ist alles doppelt.. Warum willst du Nicht-Fehler nach STDERR schreiben? Wenn der Shell-Aufrufer alles in einem log haben will kann er immer noch sagen ./script.pl > script.log 2>&1 Wenn's fuer dich als Info ueber die Verwendung des Scripts dienen soll, nimm besser ein eigenes log. Oder sind deine Beweggruende andere? mfg Oliver > Calli > _______________________________________________ > Vienna-pm mailing list > Vienna-pm@pm.org > http://mail.pm.org/mailman/listinfo/vienna-pm > ===================================================== Die ?bermittelten Informationen sind nur f?r die Organisation/Person bestimmt, an die sie adressiert sind und k?nnen pers?nliches, vertrauliches oder rechtlich gesch?tztes Material enthalten. Andere Personen als der beabsichtigte Empf?nger dieser E-Mail sind nicht dazu befugt, diese Informationen abzurufen, weiterzuleiten, zu reproduzieren oder auf sonstige andere Weise zu verwenden. F?r den Fall, dass Sie diese Nachricht irrt?mlicherweise erhalten haben, wenden Sie sich bitte an den Absender und l?schen Sie diese. HINWEIS: E-Mail-Verkehr ist nicht sicher und es kann nicht garantiert werden, dass Informationen vollst?ndig, unverf?lscht, etc. beim Empf?nger ankommen. ===================================================== The transmitted information is only meant for the addressed organization/person and may contain personal, confidential or legally protected material. Other persons than the intended addressee are not allowed to retrieve, forward, reproduce or use this information in any manner. If you received this message by mistake, please consult the sender and erase it. NOTICE: E-Mail-traffic may not be safe and it can not be assured that the received information is complete, accurate, etc. From hjp at wsr.ac.at Fri Jan 21 03:26:51 2005 From: hjp at wsr.ac.at (Peter J. Holzer) Date: Fri Jan 21 03:27:04 2005 Subject: [Vienna-pm] STDOUT-Umleitung In-Reply-To: <200501211049.03286.gooly@gmx.at> References: <20050121094104.GC11077@domm2.zsi.at> <200501211049.03286.gooly@gmx.at> Message-ID: <20050121112651.GF23807@wsr.ac.at> On 2005-01-21 10:49:03 +0100, Carl A. Schreiber wrote: > Am Freitag, 21. Januar 2005 10:41 schrieb Thomas Klausner: > > On Fri, Jan 21, 2005 at 10:31:58AM +0100, Carl A. Schreiber wrote: > > > kann man eigentlich innerhalb eines Perl Programms herausfinden ob STDOUT > > > 'aussen' (= beim Aufruf: ./bsp.pl >file.txt) in ein File umgeleitet > > > wurde? > > > > Ich vermute nicht, weil das ja das OS macht. Perl selber gibt einfach was > > auch immer nach STDOUT aus, aber das OS leitet das dann in file.txt um. > Naja, ich dachte es gibt eine M?glichkeit herauszufinden wohin z.B. > letztendlich STDOUT zeigt, oder welche 'Identit?t' das (der?) Handle es hat. Ja, die gibt es: perldoc -f -X perldoc -f stat ---8<------8<------8<------8<------8<------8<------8<------8<--- #!/usr/bin/perl use warnings; use strict; if (-f STDOUT) { print STDERR "STDOUT is a regular file\n"; } if (-p STDOUT) { print STDERR "STDOUT is a pipe\n"; } if (-c STDOUT) { print STDERR "STDOUT is a character device\n"; } if (-t STDOUT) { print STDERR "STDOUT is a terminal\n"; } my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size, $atime,$mtime,$ctime,$blksize,$blocks) = stat(STDOUT); printf STDERR "STDOUT is on device %x, inode %x, mode %o\n", $dev, $ino, $mode; ---8<------8<------8<------8<------8<------8<------8<------8<--- bernon:~/tmp 12:22 104% ./stat_stdout STDOUT is a character device STDOUT is a terminal STDOUT is on device 9, inode a, mode 20620 bernon:~/tmp 12:22 105% ./stat_stdout | cat STDOUT is a pipe STDOUT is on device 7, inode 6cea12, mode 10600 bernon:~/tmp 12:22 106% ./stat_stdout > foo STDOUT is a regular file STDOUT is on device fd01, inode 70609, mode 100755 (Die -X Operatoren/Funktionen tun auch nichts anderes als stat aufrufen und das Ergebnis auswerten). > Meine Hoffnung ist gering Aber sie wird nicht entt?uscht. > aber Perl ist immer wieder ?berraschend, was alles geht.. Generell geht in Perl fast alles, was im darunterliegenden OS geht. Und Unix kennt halt stat (In MS-DOS gab es das in eingeschr?nkter Form auch, in Windows wird das wohl auch geben). hp -- _ | Peter J. Holzer | If the code is old but the problem is new |_|_) | Sysadmin WSR / LUGA | then the code probably isn't the problem. | | | hjp@wsr.ac.at | __/ | http://www.hjp.at/ | -- Tim Bunce on dbi-users, 2004-11-05 -------------- 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/20050121/e961cfed/attachment.bin From domm at zsi.at Fri Jan 21 03:36:04 2005 From: domm at zsi.at (Thomas Klausner) Date: Fri Jan 21 03:30:14 2005 Subject: [Vienna-pm] STDOUT-Umleitung In-Reply-To: <20050121112651.GF23807@wsr.ac.at> References: <20050121094104.GC11077@domm2.zsi.at> <200501211049.03286.gooly@gmx.at> <20050121112651.GF23807@wsr.ac.at> Message-ID: <20050121113604.GJ11077@domm2.zsi.at> Hi! On Fri, Jan 21, 2005 at 12:26:51PM +0100, Peter J. Holzer wrote: > Ja, die gibt es: > > perldoc -f -X > perldoc -f stat hp++ (und Perl etc natuerlich auch ++) -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/} From lt at toetsch.at Fri Jan 21 03:33:57 2005 From: lt at toetsch.at (Leopold Toetsch) Date: Fri Jan 21 03:32:58 2005 Subject: [Vienna-pm] STDOUT-Umleitung In-Reply-To: <200501211031.58165.gooly@gmx.at> References: <200501211031.58165.gooly@gmx.at> Message-ID: <41F0E8A5.1070602@toetsch.at> Carl A. Schreiber wrote: > Hallo, > > kann man eigentlich innerhalb eines Perl Programms herausfinden ob STDOUT > 'aussen' (= beim Aufruf: ./bsp.pl >file.txt) in ein File umgeleitet wurde? Ja. Mit POSIX::isatty $ cat io.pl #!/usr/bin/perl -w use strict; use IO::File; use POSIX; my $fh = IO::File->new(">-"); while (<>) { print $fh $_; } print STDERR (isatty($fh) ? "Yes\n" : "No\n"); $ perl io.pl asdf ^D asdf Yes $ perl io.pl > 1 asdf ^D No leo From Oliver.Baier at lotterien.at Fri Jan 21 03:36:04 2005 From: Oliver.Baier at lotterien.at (Baier Oliver) Date: Fri Jan 21 03:36:13 2005 Subject: AW: [Vienna-pm] STDOUT-Umleitung Message-ID: <204DB1982528124DAB948D996ECC859A4C8402@EXCHCLU1.office.lottery.co.at> > -----Urspr?ngliche Nachricht----- > Von: vienna-pm-bounces@pm.org [mailto:vienna-pm-bounces@pm.org]Im > Auftrag von Peter J. Holzer > Gesendet: Freitag, 21. J?nner 2005 12:27 > Betreff: Re: [Vienna-pm] STDOUT-Umleitung > > > Ja, die gibt es: > > perldoc -f -X > perldoc -f stat > stimmt, kann mich jetzt wieder erinnern, aber hab scheinbar ein zu schlechtes Gedaechtnis... aber zum Glueck ist's nicht bei allen so :-) perl... einfach gut ===================================================== Die ?bermittelten Informationen sind nur f?r die Organisation/Person bestimmt, an die sie adressiert sind und k?nnen pers?nliches, vertrauliches oder rechtlich gesch?tztes Material enthalten. Andere Personen als der beabsichtigte Empf?nger dieser E-Mail sind nicht dazu befugt, diese Informationen abzurufen, weiterzuleiten, zu reproduzieren oder auf sonstige andere Weise zu verwenden. F?r den Fall, dass Sie diese Nachricht irrt?mlicherweise erhalten haben, wenden Sie sich bitte an den Absender und l?schen Sie diese. HINWEIS: E-Mail-Verkehr ist nicht sicher und es kann nicht garantiert werden, dass Informationen vollst?ndig, unverf?lscht, etc. beim Empf?nger ankommen. ===================================================== The transmitted information is only meant for the addressed organization/person and may contain personal, confidential or legally protected material. Other persons than the intended addressee are not allowed to retrieve, forward, reproduce or use this information in any manner. If you received this message by mistake, please consult the sender and erase it. NOTICE: E-Mail-traffic may not be safe and it can not be assured that the received information is complete, accurate, etc. From hjp at wsr.ac.at Fri Jan 21 03:39:20 2005 From: hjp at wsr.ac.at (Peter J. Holzer) Date: Fri Jan 21 03:39:29 2005 Subject: [Vienna-pm] STDOUT-Umleitung In-Reply-To: <204DB1982528124DAB948D996ECC859A4CECD4@EXCHCLU1.office.lottery.co.at> References: <204DB1982528124DAB948D996ECC859A4CECD4@EXCHCLU1.office.lottery.co.at> Message-ID: <20050121113920.GG23807@wsr.ac.at> On 2005-01-21 11:16:03 +0100, Baier Oliver wrote: > > -----Urspr?ngliche Nachricht----- > > Von: vienna-pm-bounces@pm.org [mailto:vienna-pm-bounces@pm.org] > > Im Auftrag von Carl A. Schreiber > > Gesendet: Freitag, 21. J?nner 2005 10:49 > > > > Naja, ich dachte es gibt eine M?glichkeit herauszufinden wohin z.B. > > letztendlich STDOUT zeigt, oder welche 'Identit?t' das (der?) > > Handle es hat. > > soviel ich weiss, ist das leider nicht moeglich, da STDOUT des perl-scripts > nur zur shell zeigt, es aber nicht sieht, was die shell damit weiter macht. Nein. STDOUT zeigt nie zur Shell (zumindest nicht unter unixoiden Betriebssystemen), sondern immer auf ein Device, File oder eine Pipe. Im Fall der Pipe kann nat?rlich eine Shell am anderen Ende h?ngen, muss aber nicht. Wenn Du ein Kommando ohne Umleitungen aufrufst, erbt der neue Prozess einfach alle offenen Filedescriptoren der Shell (normalerweise stdin, stdout und stderr). Wenn Du eine Umleitung machst, ?ffnet die Shell das File, und vererbt den offenen Filedescriptor an den Kindprozess. Der Kindprozess greift dann aber direkt auf das File zu, die Shell hat damit nichts mehr zu tun. > > Dann (wenn umgeleitet) sollte alles in STDERR geschrieben > > werden, andernfalls > > (print in STDOUT & SDTERR) ist alles doppelt.. > > Warum willst du Nicht-Fehler nach STDERR schreiben? Debug-Output? Prompts (bei interaktiven Programmen)? In Abh?ngigkeit davon, ob stdout ein Terminal oder ein File ist, Meldungen auf stdout oder stderr zu schreiben, halte ich allerdings i.A. auch f?r keine gute Idee. > Wenn der Shell-Aufrufer alles in einem log haben will kann er immer > noch sagen ./script.pl > script.log 2>&1 oder f?r den (seltenen aber manchmal notwendigen) Fall, dass man nur stderr in ein Programm umleiten will: ( ( ./qpsmtpd >&3 ) 2>&1 | /usr/local/bin/ts >> log/$today ) 3>&1 qpsmtpd ist ?brigens in Perl geschrieben :-) hp -- _ | Peter J. Holzer | If the code is old but the problem is new |_|_) | Sysadmin WSR / LUGA | then the code probably isn't the problem. | | | hjp@wsr.ac.at | __/ | http://www.hjp.at/ | -- Tim Bunce on dbi-users, 2004-11-05 -------------- 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/20050121/9bed77b9/attachment.bin From hjp at wsr.ac.at Fri Jan 21 03:42:48 2005 From: hjp at wsr.ac.at (Peter J. Holzer) Date: Fri Jan 21 03:42:58 2005 Subject: [Vienna-pm] STDOUT-Umleitung In-Reply-To: <20050121113920.GG23807@wsr.ac.at> References: <204DB1982528124DAB948D996ECC859A4CECD4@EXCHCLU1.office.lottery.co.at> <20050121113920.GG23807@wsr.ac.at> Message-ID: <20050121114248.GH23807@wsr.ac.at> On 2005-01-21 12:39:20 +0100, Peter J. Holzer wrote: > On 2005-01-21 11:16:03 +0100, Baier Oliver wrote: > > soviel ich weiss, ist das leider nicht moeglich, da STDOUT des perl-scripts > > nur zur shell zeigt, es aber nicht sieht, was die shell damit weiter macht. > > Nein. STDOUT zeigt nie zur Shell (zumindest nicht unter unixoiden > Betriebssystemen), sondern immer auf ein Device, File oder eine Pipe. Oder einen Socket oder sonstwas, was das OS als file?hnlich ansieht. hp -- _ | Peter J. Holzer | If the code is old but the problem is new |_|_) | Sysadmin WSR / LUGA | then the code probably isn't the problem. | | | hjp@wsr.ac.at | __/ | http://www.hjp.at/ | -- Tim Bunce on dbi-users, 2004-11-05 -------------- 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/pipermail/vienna-pm/attachments/20050121/b44134af/attachment.bin From domm at zsi.at Sat Jan 22 04:25:41 2005 From: domm at zsi.at (Thomas Klausner) Date: Sat Jan 22 11:26:29 2005 Subject: [Vienna-pm] Powered By Perl erste version Message-ID: <20050122122541.GD16856@domm2.zsi.at> Hi! Ich hab diese Woche ein paar Stunden Zeit gehabt und (endlich) eine erste Version von Powered By Perl auf die Beine gestellt: http://poweredbyperl.dev.zsi.at/ Ein paar Anmerkungen: * Das von Wilhelm vorgeschlagene POD-Format erschien mir zu kompliziert. Erstens hab ich recht lange (zu lange!) gebraucht, um den Oe1-Text einzugeben. Zweites hat sonst niemand was geschickt. * Ich hab also ein stark vereinfachtes YAML-Format kreiert: http://vienna.pm.org/powered.yaml Englische Beschreibung dazu hier: http://poweredbyperl.dev.zsi.at/add.html * Der Ablauf ist in etwa: - man legt so ein YAML-Ding auf seinen Server - man wirft die URL in die DB - Das System checkt regelmaessig (~stuendlich) obs neue URLs gibt, holt die YAML-Daten, haut das ZEug in die DB und macht die Website neu - Einmal die Woche werden alle URL abgegrast, wenn welche nicht mehr da sind, werden die Daten entsprechend markiert und nicht mehr angezeigt (Um Projekt-Friedhoefe zu verhindern) * Das ganze laeuft zZ noch recht wackelig und von Hand betrieben (sollten spaeter mal cronjobs werden etc), also ein wenig Nachsicht, wenn nicht alles funktioniert. * BITTE: Feedback bez des YAML-Formats, vor allem: - sind die Felder sinnvoll benamst - fehlen irgendwelche essentiellen Felder - ist das country feld sinnvoll? ICh dachte, damit koennte man spaeter mal Filter ermoeglichen, allerdings wuerde das konsistente Eingaben erfordern. - anderer Filter-Felder? (zB Type der Org (Finanz, Oeffentlich, Technisch..) * Was noch voellig fehlt ist zB Validieren von URL und ueberhaupt Error Handling * Ach ja, code ist hier: (jetzt mal nur svn, spaeter kommts wohl auf CPAN): http://svn.zsi.at:1000/repos/PoweredByPerl/ -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/} From pilsl at goldfisch.at Sun Jan 23 03:33:05 2005 From: pilsl at goldfisch.at (peter pilsl) Date: Sun Jan 23 03:34:46 2005 Subject: [Vienna-pm] Powered By Perl erste version In-Reply-To: <20050122122541.GD16856@domm2.zsi.at> References: <20050122122541.GD16856@domm2.zsi.at> Message-ID: <41F38B71.3080509@goldfisch.at> Thomas Klausner wrote: > Hi! > > Ich hab diese Woche ein paar Stunden Zeit gehabt und (endlich) eine erste > Version von Powered By Perl auf die Beine gestellt: > > http://poweredbyperl.dev.zsi.at/ > supercool :) es geschehen noch zeichen und wunder ;) aus meiner sicht sinnvoll w?ren felderg?nzungen, aber da haben wir eh schon mal diskutiert. Analog zur Angabe der verwendeten Module w?ren nat?rlich spezielle Techniken etc. interessant. Und f?r mich sehr interessant w?ren halt immer noch Projektdaten ala Start (JAhr der Erstellung), Personenjahre (was: Mannjahre), geplante Lebenszeit und ein Frequenzfeld (scripthits bei webpages, calls by tools). Aber vermutlich sind das infos, die man eher unter der bereitsgestellen projekturl posten soll. Nun m?ssen wir auch alle ganz brav Projekte submitten, damit die seite auch was kann :) DANKE THOMAS !! lgp > Ein paar Anmerkungen: > > * Das von Wilhelm vorgeschlagene POD-Format erschien mir zu kompliziert. > Erstens hab ich recht lange (zu lange!) gebraucht, um den Oe1-Text > einzugeben. Zweites hat sonst niemand was geschickt. > > * Ich hab also ein stark vereinfachtes YAML-Format kreiert: > > http://vienna.pm.org/powered.yaml > > Englische Beschreibung dazu hier: > > http://poweredbyperl.dev.zsi.at/add.html > > * Der Ablauf ist in etwa: > > - man legt so ein YAML-Ding auf seinen Server > - man wirft die URL in die DB > - Das System checkt regelmaessig (~stuendlich) obs neue URLs gibt, holt die > YAML-Daten, haut das ZEug in die DB und macht die Website neu > - Einmal die Woche werden alle URL abgegrast, wenn welche nicht mehr da > sind, werden die Daten entsprechend markiert und nicht mehr angezeigt > (Um Projekt-Friedhoefe zu verhindern) > > * Das ganze laeuft zZ noch recht wackelig und von Hand betrieben (sollten > spaeter mal cronjobs werden etc), also ein wenig Nachsicht, wenn nicht alles > funktioniert. > > * BITTE: Feedback bez des YAML-Formats, vor allem: > > - sind die Felder sinnvoll benamst > - fehlen irgendwelche essentiellen Felder > - ist das country feld sinnvoll? ICh dachte, damit koennte man spaeter mal > Filter ermoeglichen, allerdings wuerde das konsistente Eingaben erfordern. > - anderer Filter-Felder? (zB Type der Org (Finanz, Oeffentlich, Technisch..) > > * Was noch voellig fehlt ist zB Validieren von URL und ueberhaupt Error > Handling > > * Ach ja, code ist hier: (jetzt mal nur svn, spaeter kommts wohl auf CPAN): > http://svn.zsi.at:1000/repos/PoweredByPerl/ > > > -- 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 Mon Jan 24 12:18:27 2005 From: domm at zsi.at (Thomas Klausner) Date: Mon Jan 24 12:19:35 2005 Subject: [Vienna-pm] Powered By Perl erste version In-Reply-To: <41F38B71.3080509@goldfisch.at> References: <20050122122541.GD16856@domm2.zsi.at> <41F38B71.3080509@goldfisch.at> Message-ID: <20050124201825.GA7598@domm2.zsi.at> Hi! On Sun, Jan 23, 2005 at 12:33:05PM +0100, peter pilsl wrote: > supercool :) es geschehen noch zeichen und wunder ;) > > aus meiner sicht sinnvoll w?ren felderg?nzungen, aber da haben wir eh > schon mal diskutiert. Gegen mehr Felder hab ich nix, es sollte nur nicht zu kompliziert erscheinen (je hoeher die Menge der erforderlich (scheinenden) Daten, desto weniger eingaben) > Analog zur Angabe der verwendeten Module w?ren nat?rlich spezielle > Techniken etc. interessant. > Und f?r mich sehr interessant w?ren halt immer noch Projektdaten ala > Start (JAhr der Erstellung), Personenjahre (was: Mannjahre), geplante > Lebenszeit und ein Frequenzfeld (scripthits bei webpages, calls by > tools). Aber vermutlich sind das infos, die man eher unter der > bereitsgestellen projekturl posten soll. Entweder dort, oder man schreibts in das Description-Feld rein. Ev waeren hinweise darauf angebracht... > Nun m?ssen wir auch alle ganz brav Projekte submitten, damit die seite > auch was kann :) genau! (sieh next mail!) -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/} From domm at zsi.at Mon Jan 24 12:20:19 2005 From: domm at zsi.at (Thomas Klausner) Date: Mon Jan 24 12:21:39 2005 Subject: [Vienna-pm] Powered By Perl, weiteres Message-ID: <20050124202019.GB7598@domm2.zsi.at> Hi! 1: Ich hab das Ding auf einen anderen Server gestellt (weil der bisherige im internen Netz haengt, und deshalb durch irgedeinen Proxy muss, der aber Seiten ewig cached): http://poweredbyperl.stage.zsi.at/ (redirect vom alten ist eh auch eingerichtet) 2: CGI-Submit Form geht (hoffenlicht), inkl YAML-Validierung (weil es nicht ganz so leicht ist, so ein YAML-File freihaendig hinzukriegen.. (ev mag ja mal jemand ein kleines script basteln, das die Daten abfragt und dann ein YAML-File draus macht)) -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/}