grep
Christoph
- perl
ich habe diese anweisung
@sockets = grep !/$socket/, @sockets;
in @sockets steht sowas in der art : IO::Socket::INET=GLOB(0x861710)
in $socket: IO::Socket::INET=GLOB(0x861710)
und $socket soll von den array gelöscht werden dies geht aber nicht kennt jemand ne antwort
Hallo,
ich habe diese anweisung
@sockets = grep !/$socket/, @sockets;
in @sockets steht sowas in der art : IO::Socket::INET=GLOB(0x861710)
in $socket: IO::Socket::INET=GLOB(0x861710)
und $socket soll von den array gelöscht werden dies geht aber nicht kennt jemand ne antwort
ich würde es so lösen:
for ( my $i = 0; $i < @sockets; $i++)
{
if ( $socket eq $sockets[$i] )
{
undef $sockets[$i];
}
}
mfG,
steckl
ich würde es so lösen:
for ( my $i = 0; $i < @sockets; $i++)
{
if ( $socket eq $sockets[$i] )
{
undef $sockets[$i];
}
}
Naja, das ist kein Perl Style. Es ist zwar nicht falsch, aber Perl bietet wesentlich schönere Möglichkeiten Schleifen zu bauen.
~~~perl
foreach my $s ( @sockets)
{
undef $s if $socket == $s;
}
Aber auch grep und map sind sehr schöne und schnelle Möglichkeiten eine Liste zu durchlaufen
Struppi.
Hallo,
Naja, das ist kein Perl Style. Es ist zwar nicht falsch, aber Perl bietet wesentlich schönere Möglichkeiten Schleifen zu bauen.
Da hast du wohl recht.
foreach my $s ( @sockets)
{
undef $s if $socket == $s;
}
ist das `==`{:.language-perl} ein Tippfehler? Hier bräuchte man doch `eq`{:.language-perl}, oder?
mfG,
steckl
foreach my $s ( @sockets)
{
undef $s if $socket == $s;
}
> ist das `==`{:.language-perl} ein Tippfehler? Hier bräuchte man doch `eq`{:.language-perl}, oder?
Bin mir nicht sicher, aber ich denke schon. Es sind ja Objekte die er vergleichen Möchte und kein Stringvergleich.
Struppi.
--
[Javascript ist toll](http://javascript.jstruebig.de/) (Perl auch!)
Hallo,
Bin mir nicht sicher, aber ich denke schon. Es sind ja Objekte die er vergleichen Möchte und kein Stringvergleich.
Damit kenn ich mich nicht aus, aber du hast wohl recht.
Das ist dann wohl der Grund, warum der Reguläre Ausdruck bei dem grep nicht funktioniert.
mfG,
steckl