linux-l: 3 Fragen zu perl und hashes
Rene Dietze
rene at endel-dietze.de
Sa Sep 1 18:03:43 CEST 2001
>>>>> "Ulrich" == Ulrich Wiederhold <U.Wiederhold at gmx.net> writes:
Hallo Ulrich :)
Ulrich> Hallo Rene, danke für die Hilfe. * Rene Dietze
Ulrich> <rene at endel-dietze.de> [010831 22:03]: 1. Ich habe ein
Ulrich> Array mittels einer Referenz einem Hash zugeordnet, so daß
Ulrich> ich mittels "@{$config{'array'}}" auf das Array zugreifen
Ulrich> kann. Wenn in dem Array 5 elemente sind (element1,
Ulrich> element2, element3, element4, element5), wie kann ich dann
Ulrich> z.B. element3 löschen?
>> splice(@{$config{'array'}},2,1);
Ulrich> Ich sollte wirklich lernen, Fragen zu stellen. In dem
Ulrich> Fall weiß ich, daß das zu löschende Element an Position 3
Ulrich> steht. Wenn ich das aber nicht weiß ? Ich nutze zur Zeit
Ulrich> folgendes, was ziemlich umständlich ist:
Ulrich> foreach my $chan (@{$config{'channels'}}) { $chan eq
Ulrich> $input[2] and do { # $input[2] ist die Eingabe, die
Ulrich> gelöscht werden soll }; $chan ne $input[2] and do {
Ulrich> push(@between,$chan); }; } @{$config{'channels'}} = "";
Ulrich> @{$config{'channels'}} = @between;
Ulrich> ***** @{$config{'channels'}} enthält
Ulrich> ('#a','#b','#c','#i','#s','#sxdg','#dsldkf'); Angenommen
Ulrich> $input[2] enthält '#s', wie kann ich das einfach
Ulrich> entfernen?
es sollte auch so gehen.
@{$config{'channels'}} = grep !/$input[2]/ , @{$config{'channels'}} ;
>> hmmm was meinst du damit einem key im hash %config dann delete
>> $config{'key'};
Ulrich> Yep. Typo, sorry.
schon ok :)
>> for (@{$config{'array'}}) { print $_."\n"; }
Ulrich> Ist da for schneller als foreach? Wofür ist da der . da?
Ulrich> Weils ein String als Ausgabe ist? Also zum Verknüpfen?
ja mit . kannst du Verknuepfen
ob es schneller ist .. kann ich dir nicht genau sagen , ich denke schon
"for" muss die daten nicht in eine neue variabe kopieren sondern nimmt
sie gleich vom stack.
>> die syntax @{ } macht das gleiche wie @$
Ulrich> Hmm, ich habe gerade über 20 Seiten komplett auf ein hash
Ulrich> umgestellt... da hätte ich mir ne Menge Tipperei ersparen
Ulrich> können. Außerdem wird mir jetzt ein Teil einer Perl-Doku
Ulrich> klarer...
Ulrich> Danke nochmal, vielleicht fällt Dir ja zu meinen
Ulrich> Rückfragen auch noch was ein? Gruß Uli
Ulrich> -- 'The box said, 'Requires Windows 95 or better', so i
Ulrich> installed Linux - TKK 5
hoffe ich konnte helfen ..
gruss rene
Mehr Informationen über die Mailingliste linux-l