Schrift
[thread]6176[/thread]

open($file, "-|"): Ich frage mich, was genau mit "-|"....

Leser: 1


<< >> 8 Einträge, 1 Seite
Gast Gast
 2004-04-01 15:48
#81384 #81384
Hallo zusammen, ich frage mich , was da geöffnet wird.

Danke für eure Hilfe
[E|B]
 2004-04-01 15:50
#81385 #81385
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
HiHo!

1. Ich nehme an in $file steht dein Datei Handle und NICHT die zu öffnende Datei.
2. "|" ist eine Pipe. Je nachdem sie hinter oder vor dem File steht wird sie lesend oder schreiben benutzt.

Was "-" bedeutet, weiß ich selber nicht. Sieht aber so aus, als wäre das ganze nicht ganz richtig...
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
jan
 2004-04-01 16:07
#81386 #81386
User since
2003-08-04
2536 Artikel
ModeratorIn
[Homepage] [default_avatar]
"-" kann doch einfach ein programm sein, das via pipe zum lesen geöffnet wird...
Relais
 2004-04-01 16:11
#81387 #81387
User since
2003-08-06
2244 Artikel
ModeratorIn
[Homepage] [default_avatar]
Nicht annehmen; wissen, das der erste Parameter zu open das Filehandle ist. -> perlopentut

das - ist der Unix Shell entlehnt und bedeutet vor dem | soviel wie Input, STDIN oder auch nach dem | soviel wie Output, STDOUT.

Ich habe versucht nach dem Muster einen funktionsfähigen Tesfall hinzukriegen um ihn hier zu präsentieren, aber das ist mir nicht gelungen. Das - wird in der Verwendung mit open() nicht in den Dokus erwähnt, es ist ja auch gar nicht nötig, denn STDIN und STDOUT sind ja schon offen und brauchen gar keine Pipe.
Erst denken, dann posten --
26. Deutscher Perl- u. Raku -Workshop 15. bis 17.04.2024 in Frankfurt/M.

Winter is Coming
Relais
 2004-04-01 16:11
#81388 #81388
User since
2003-08-06
2244 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=jan,01.04.2004, 14:07]"-" kann doch einfach ein programm sein, das via pipe zum lesen geöffnet wird...[/quote]
Probier das mal aus, viel Erfolg...
Erst denken, dann posten --
26. Deutscher Perl- u. Raku -Workshop 15. bis 17.04.2024 in Frankfurt/M.

Winter is Coming
[E|B]
 2004-04-01 16:22
#81389 #81389
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Und was soll dann das obige Beispiel?
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
pq
 2004-04-01 16:23
#81390 #81390
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
perldoc perlipc

"-|" macht ein fork(), und mit einem beispiel aus perlipc.pod kannst du
den output des childs einlesen...\n\n

<!--EDIT|pq|1080822293-->
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Relais
 2004-04-01 16:26
#81391 #81391
User since
2003-08-06
2244 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=pq,01.04.2004, 14:23]perldoc perlipc

"-|" macht ein fork(), und mit einem beispiel aus perlipc.pod kannst du
den output des childs einlesen...[/quote]
und suche nach "KID_TO_READ" - bei mir auf Zeile 776, also tief drin in der perldoc-Seite...
Erst denken, dann posten --
26. Deutscher Perl- u. Raku -Workshop 15. bis 17.04.2024 in Frankfurt/M.

Winter is Coming
<< >> 8 Einträge, 1 Seite



View all threads created 2004-04-01 15:48.