Blem en perl

bon bah dsl mais avec le bout de code suivant j’obtiens :
[Wed Mar 31 11:44:28 2004] [error] [client 127.0.0.1] malformed header from script. Bad header=nom ou adresse IP du serveur (: c:/apache/cgi-bin/test.pl
#!c:perlinperl.exe

use IO::Socket;

print "nom ou adresse IP du serveur (localhost par défaut) ";

$adresse= “jason”;

$socket = IO::Socket::INET->new(
  PeerAddr => $adresse,
  Proto => “tcp”,
  PeerPort => 4200
  )
or die “Connexion au serveur impossible.
”;

$pid = fork;
die “Je ne peux pas forker !” if ! defined ($pid);

if ($pid ==0) {
 # c’est le processus enfant, chargé de l’émission au serveur
 #############################################################
 $ligne = “test”;
print $socket $ligne;
} else {
  # c’est le père qui pendant ce temps écoute le serveur
  #######################################################
  while ($ligne = <$socket&gt {
print “serveur> $ligne”;
  }
}
et le but c de balancer du texte sur le port 4200 d’un serveur et de lire la reponse thks
Bussiere

bon alors pour commencer le fork je trouve ca etrange dans ce genre de code.
(je developperai si necessaire)
tu envoie, puis tu lis. pas besoin de fork.

il manque peut etre Type => SOCK_STREAM
(present dans l exemple du camel book que j ai sous les yeux)

meme probleme :
[Wed Mar 31 13:25:36 2004] [error] [client 127.0.0.1] malformed header from script. Bad header=nom ou adresse IP du serveur (: c:/apache/cgi-bin/test.pl
nouveau code :
#!c:perlinperl.exe

use IO::Socket;

print "nom ou adresse IP du serveur (localhost par défaut) ";

$adresse= “jason”;

$socket = IO::Socket::INET->new(
  PeerAddr => $adresse,
  Proto => “tcp”,
  PeerPort => 4200,
  Type => SOCK_STREAM
  )
or die “Connexion au serveur impossible.
”;

 $ligne = “test”;
print $socket $ligne;
print “serveur> $ligne”;
 
thks
Bussiere

[quote]$socket = IO::Socket::INET->new(
  PeerAddr => $adresse,
  Proto => “tcp”,
  PeerPort => 4200,
  Type => SOCK_STREAM
  )
or die “Connexion au serveur impossible.
”;[/quote]elle est la l erreur :

$socket = IO::Socket::INET ( # plus de ->new
  PeerAddr => $adresse,
  Proto => “tcp”,
  PeerPort => 4200,
  Type => SOCK_STREAM
  )

OU

$socket = IO::Socket::INET->new("$adresse:4200");

scuse mais j’ai toujours :

[Wed Mar 31 13:53:25 2004] [error] [client 127.0.0.1] malformed header from script. Bad header=nom ou adresse IP du serveur (: c:/apache/cgi-bin/test.pl
avec en plus :
[Wed Mar 31 13:53:25 2004] [error] [client 127.0.0.1] Undefined subroutine &IO::Socket::INET called at c:apachecgi-bin est.pl line 9.

et pour ce code :
#!c:perlinperl.exe
  use IO::Socket;
  use IO::Socket::INET;

print "nom ou adresse IP du serveur (localhost par défaut) ";

$adresse= “jason”;

$socket = IO::Socket::INET(
  PeerAddr => $adresse,
  Proto => “tcp”,
  PeerPort => 4200,
  Type => SOCK_STREAM
  )
or die “Connexion au serveur impossible.
”;

 $ligne = “test”;
print $socket $ligne;
print “serveur> $ligne”;

thks
Bussiere

il faudra que j apprenne a lire un jour

use IO::Socket;

$socket = new IO::Socket::INET (
 PeerAddr => $serv_addr,
 PeerPort => $serv_port,
 Proto => “tcp”,
 Type => SOCK_STREAM
) or die “error”;

toujours cette erreur de bad header que je ne comprends pas

[Wed Mar 31 14:10:38 2004] [error] [client 127.0.0.1] malformed header from script. Bad header=nom ou adresse IP du serveur (: c:/apache/cgi-bin/test.pl

#!c:perlinperl.exe
 
 
  use IO::Socket;

print "nom ou adresse IP du serveur (localhost par défaut) ";

$adresse= “****”;

$socket = new IO::Socket::INET (
PeerAddr => $adresse,
PeerPort => ****,
Proto => “tcp”,
Type => SOCK_STREAM
)

or die “Connexion au serveur impossible.
”;

 $ligne = “test”;
print $socket $ligne;
print “serveur> $ligne”;

Ce message a été édité par Bussiere le 31/03/2004

et si tu le lance seul ? pas via apache quoi

sinon met le -w ca aide parfois
Ce message a été édité par Kzi le 31/03/2004

ouaip ca marche c juste que la je sois le faire par apache ^^
voila ce qu’il faut mettre pour que ca marche a peu pres ^^
#!c:perlinperl.exe
use IO::Socket;
print "Content-type: text/html

";
 print “”;
  print “”;
$adresse= “****”;

$socket = IO::Socket::INET->new(
  PeerAddr => $adresse,
  Proto => “tcp”,
  PeerPort => ****
  )
or die “Connexion au serveur impossible.
”;

$pid = fork;
die “Je ne peux pas forker !” if ! defined ($pid);

if ($pid ==0) {
 # c’est le processus enfant, chargé de l’émission au serveur
 #############################################################
 $ligne = “LOGIN ****  ";
 $ligne2 = "
”;
print $socket $ligne;
print $socket $ligne2;
} else {
  # c’est le père qui pendant ce temps écoute le serveur
  #######################################################
  if ($ligne2 = <$socket&gt {
  print “serveur> $ligne1”;
print “serveur> $ligne2”;
  }

}
  print “”;
print “”;
  exit 0;

[quote]#!c:perlinperl.exe
use IO::Socket;
print "Content-type: text/html

";
 print “”;
  print “”;
$adresse= “****”;[/quote]ok je ne cherchait pas du tout dans ces optique
je cherchait un probleme de perl en fait

desolé de ne pas avoir pu t aider

mais comme j suis tetu je persiste sur le fork na !