Perl socket problem unter Solaris

Hallo,

um einen socket für tcp-Kommunikation aufzumachen, verwende ich
folgenden Code:

my $server = IO::Socket::INET->new(
Proto => „tcp“, PeerAddr => $host,
PeerPort => $port);

print" Value $server->$server \n";
if (defined($server)) {print „server=$server\n“;}

unter Linux erhalte ich folgende Ausgabe:

> Value $server->

der gleiche code unter Solaris 5.6 ergibt folgendes:

> Value $server->IO::Socket::INET=GLOB(0x44ad80)
> server=IO::Socket::INET=GLOB(0x44ad80)

Was nun? Unter linux erhalte ich einen Fehler, den ich abfangen kann. Aber unter Solaris ist das Ding definiert und ergibt somit keinen Fehler.

Hat jemand eine Idee wie man das abfangen kann?

Danke
antonio

Hi,

um einen socket für tcp-Kommunikation aufzumachen, verwende
ich
folgenden Code:

my $server = IO::Socket::INET->new(
Proto => „tcp“, PeerAddr => $host,
PeerPort => $port);

print" Value $server->$server \n";
if (defined($server)) {print „server=$server\n“;}

unter Linux erhalte ich folgende Ausgabe:

> Value $server->

der gleiche code unter Solaris 5.6 ergibt folgendes:

> Value $server->IO::Socket::INET=GLOB(0x44ad80)
> server=IO::Socket::INET=GLOB(0x44ad80)

Was nun? Unter linux erhalte ich einen Fehler, den ich
abfangen kann. Aber unter Solaris ist das Ding definiert und
ergibt somit keinen Fehler.

Hat jemand eine Idee wie man das abfangen kann?

Wenn ich das richtig verstehe, willst Du wissen ob die Vebindung
klappt. Das solltest Du dann auch dann gleich beim Socket definieren ueberpruefen:

my $server = IO::Socket::INET-\>new(
 Proto =\> "tcp", PeerAddr =\> $host,
 PeerPort =\> $port)
or die "Konnte Verbindung nicht herstellen: $@\n";

Die Fehlermeldung steht dabei in $@ und NICHT in $!
wie sonst ueblich.

Zu Risiken und Nebenwirkungen:

perldoc IO::Socket

Gruss,

Andreas.