Schrift
[thread]2893[/thread]

Output von Programm wird nicht angezeigt



<< |< 1 2 >| >> 12 Einträge, 2 Seiten
[E|B]
 2004-03-09 21:22
#29115 #29115
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
HiHo!
Ich meine zu spinnen, aber irgendwie kommt mir das seltsam vor.
Ich rufe folgenden Befehl in der Shell auf und bekomme auch den gewünschten Output dazu:

Code: (dl )
idn -a test.de


Wenn ich aber nun das ganze in einem CGI Script ausrufe, wird gar nichts ausgegeben:

Code: (dl )
1
2
print "Content-type: text/html\n\n";
print `idn -a test.de`;


Andere Outputs werden ausgegeben. (z.B. "whereis whois")
Nur wenn ich mir den Output von dem Befehl oben ausgeben lassen will, kommt gar nichts. In der Shell geht es aber doch?!?!?
Woran kann das liegen??\n\n

<!--EDIT|[E|B]|1078860211-->
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]
steve
 2004-03-09 21:41
#29116 #29116
User since
2004-03-04
52 Artikel
BenutzerIn
[default_avatar]
lässt sich der Output von "idn" in eine Datei umlenken? MIt > datei ?
Wenn nicht, dann vermute ich mal, dass das Tool auf stderr ausgibt.

Steve
[E|B]
 2004-03-09 22:12
#29117 #29117
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Wenn ich den Aufruf über ein Perl Script mache über die Shell wird der Output geroutet. Wenn ich den Aufruf über das CGI Script mache (selber Befehl wie im Perl Script!) passiert gar nichts. Irgendwie seltsam, oder?
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]
format_c
 2004-03-09 23:53
#29118 #29118
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Irgendwie wird die Ausgabe auf das terminal geleitet nicht auf STDOUT.
wenn man die Ausgabe in einer Datei umleitet, sagt das Programm, dass die Ausgabe nicht in UTF-8 konvertiert werden kann.

Mir fällt da jetzt auf die Schnelle auch nix mehr ein.

Gruß Alex
pq
 2004-03-10 01:07
#29119 #29119
User since
2003-08-04
12209 Artikel
Admin1
[Homepage]
user image
ist idn im pfad? der PATH des webservers ist (hoffentlich) ein anderer als der des users...
was bekommst du denn überhaupt? immerhin den content-type? sagt das errorlog was?
was für eine ausgabe macht idn denn, ich kenne das nicht? fragen über fragen...
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
Strat
 2004-03-10 16:19
#29120 #29120
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
@E|B: frag doch mal auf Fehler ab und poste die Fehlermeldung... genau solche Probleme sind der Grund, wieso ich immer auf das Ausfuehren von externen Kommandos ohne Fehlerabfrage schimpfe... (wie lange bist Du schon im Forum ???)\n\n

<!--EDIT|Strat|1078928437-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
[E|B]
 2004-03-10 18:03
#29121 #29121
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Es funktioniert!!!
Danke erstmal den anderen Antwortenden. ;)
Nach einem langen Gespräch mit Ishka im ICQ klappt es nun.
Ishka hat einfach nur den kompletten Pfad zu IDN eingegeben und schon lief es.
Jetzt stellt sich die Frage:
Wie passe ich den Suchpfad von meinem lokalen Server an, dass er auch die richtigen Befehle findet? (Apache)\n\n

<!--EDIT|[E|B]|1078934631-->
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]
ptk
 2004-03-10 18:06
#29122 #29122
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Innerhalb von Perl kann man schreiben:
Code: (dl )
local $ENV{PATH} = "$ENV{PATH}:/der/neue/pfad";
(in dieser Schreibweise wegen ":" nur auf Unix). oder alternativ mit dem Env-Modul:
Code: (dl )
use Env qw(@PATH); push @PATH, "/der/neue/pfad";
pq
 2004-03-10 19:41
#29123 #29123
User since
2003-08-04
12209 Artikel
Admin1
[Homepage]
user image
du kannst aber auch einfach den absoluten pfad nehmen. finde ich angenehmer, da weiss man
immer genau, was aufgerufen wird.
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
Ishka
 2004-03-11 01:40
#29124 #29124
User since
2003-08-04
771 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Es ist außerhalb von Perl.

Der Nachteil daran den ganzen Pfad hinzuschreiben ist, daß es dann stark an Portabilität verliert.
sub z{if(@_){1while$x[$k=rand 10];t($t=$x[$k]=1)}print map"$z[$x[$_]]$_".($_%3?
"":"\n"),1..9}sub t{$j=0;$x[$_+1]==$t&&($j+=2**$_)for 0..8;z,die"Gewinner $z[$t]
"if grep$_==($j&$_),7,56,73,84,146,273,292,448;z,die"Gleichstand\n"if@x>9&&!grep
!$_,@x}@x=4;@z=qw{. [ (};z$^T&1;while(<>){next if$_>9||$x[$_];t$t=$x[$_]=2;z 1}
<< |< 1 2 >| >> 12 Einträge, 2 Seiten



View all threads created 2004-03-09 21:22.