Thread was ist an der syntax falsch?? (61 answers)
Opened by grey1987 at 2007-11-26 12:25

grey1987
 2007-11-26 17:15
#103070 #103070
User since
2007-11-21
83 Artikel
BenutzerIn
[default_avatar]
ok letzte frage, die ich eigentlich schon gestellt hab.
so sieht mein programm jetzt erst mal aus:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
use IO::Socket;
use strict;

my $socket = new IO::Socket::INET (PeerAddr =>'PC110197',PeerPort => 1810) or die "Konnte Socket nicht erstellen: $!\n";
$socket->autoflush(1);
my $line;

print "Sende ein Client Create zum Server\n";
print $socket "CLIENT CREATE\n";
getlinefromsocket ($socket);

print "\nSende ein CONNECT zum Server\n";
print $socket "CONNECT\n";
getlinefromsocket ($socket);

print "\nSende ein DISCONNECT zum Server\n";
print $socket "DISCONNECT\n";
getlinefromsocket ($socket);

print "\nSende ein END SESSION zum Server\n";
print $socket "END SESSION\n";
getlinefromsocket ($socket);

$socket->close();

sub getlinefromsocket ($socket){
  my $buffer;
  my $char;
  while ($socket->recv($char,1)) {
    $buffer.=$char;
    print $char;
    last if length $buffer == 4;
  }
}

die while Schleife wird beendet wenn vier Zeichen gelesen wurden.
wie mach ich das jetzt, dass die While Schleife beendet wird, wenn das nächste Zeichen kein Zeichen ist, alse wenn es ein Leerzeichen ist?
geht das überhaupt?
oder die Schleife soll beendet werden, wenn der Buffer zu ende gelesen wurde.
kurze knappe antwort reicht.
weil mit diesem my anzahl = 3 sag ich der Schleife auch, dass sie aufhören soll, wenn drei zeichen da sind.

View full thread was ist an der syntax falsch??