Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]6138[/thread]

array im hash (Seite 3)

Leser: 2


<< |< 1 2 3 4 >| >> 31 Einträge, 4 Seiten
esskar
 2004-03-13 23:22
#80937 #80937
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=Free Faq,13.03.2004, 22:15]Mein Perl-Buch hatte das leider nich.[/quote]
werf es weg und kauf dir ein Neues
Relais
 2004-03-13 23:37
#80938 #80938
User since
2003-08-06
2244 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=esskar,13.03.2004, 22:22][quote=Free Faq,13.03.2004, 22:15]Mein Perl-Buch hatte das leider nich.[/quote]
werf es weg und kauf dir ein Neues[/quote]
(mein Einsatz?)

Die Besten Perl Bücher

8)
Erst denken, dann posten --
26. Deutscher Perl- u. Raku -Workshop 15. bis 17.04.2024 in Frankfurt/M.

Winter is Coming
Strat
 2004-03-14 01:31
#80939 #80939
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
auf meiner HP ist unter Vortraege eine "Einfuehrung in Perl"...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
pq
 2004-03-14 04:27
#80940 #80940
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=esskar,13.03.2004, 22:02]
Code: (dl )
1
2
%hash = (a => 'A', b => 'B');
%hash = (%hash, c => 'C', d => 'D');
[/quote]
das kann bei sehr grossen hashes eventuell ungünstig sein, da hier der gesamte
inhalt umkopiert wird. alternativ kann man das hier machen:
Code: (dl )
1
2
my %neu = (b=>2,c=>3);
while (my ($k,$v) = each %neu) {$hash{$k} = $v}
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
esskar
 2004-03-14 06:16
#80941 #80941
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
@pg: dabei wird jedoch auch der gesamte inhalt kopiert...

ich denke, Faq wollte etwas simples.., keine Schleifen, etcpp.
Free Faq
 2004-03-14 12:28
#80942 #80942
User since
2003-09-10
141 Artikel
BenutzerIn
[default_avatar]
@Relais: Hehe thanks ;)
@Strat: Habs mal gelinkt. Wenn ich mal wieder hilfe bruache, schau ich mal vorbei
@pq: DIe Hashes werden wohl kaum über 20 oder 30 Einträge gehen.
@esskar: Jep Wenn der QUellcode irgendwann mal über 250Kb gross sein wird, dann ist man froh drüber.

Wie schon angetönt, wollte ich nicht zig Variablen mit use vars globalisieren. Jetzt kommen die statdessen in ein Hash, was als einzigstes Global ansprechbar sein wird.
Vorallem find ich den Aufbau von Hashes sehr übersichtlich
Haut mich nicht, ich bin ein Noob!
pq
 2004-03-14 15:18
#80943 #80943
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=esskar,14.03.2004, 05:16]@pg: dabei wird jedoch auch der gesamte inhalt kopiert...[/quote]
nö, der von %hash natürlich nicht. natürlich wird der inhalt vom neuen
hash umkopiert, aber das läßt sich wohl mit keiner lösung umgehen.
Quote
ich denke, Faq wollte etwas simples.., keine Schleifen, etcpp.

war ja nur ein hinweis und eine alternative. um zu einem array was hinzuzufügen,
würde wohl auch keiner auf die idee kommen:
@arrray = (@array, <neue elemente>);
denn dafür gibt's ja push()\n\n

<!--EDIT|pq|1079270393-->
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Crian
 2004-03-23 13:13
#80944 #80944
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
[quote=renee,12.03.2004, 20:34]
Code: (dl )
1
2
3
my %hash = ();
my @array = qw(1 2 3 4 5);
$hash{Array} = \@array;
[/quote]
Damit sind die beiden Arrays mit einander verbunden. Änderst Du das eine, änderst Du auch das andere. Möchtest Du dieses Verhalten nicht (etwa weil das Array in einer Schleife immer wieder neu belegt wird), nimm diese Variante:

Code: (dl )
$hash{Array} = [ @array ];
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
renee
 2004-03-23 23:17
#80945 #80945
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
ok, muss ich mir unbedingt merken. Ich arbeite relativ häufig mit komplexen Datenstrukturen. Nicht dass ich mich irgendwann mal über blöde Fehler wundere...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Strat
 2004-03-24 02:35
#80946 #80946
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=pq,14.03.2004, 03:27][quote=esskar,13.03.2004, 22:02]
Code: (dl )
1
2
%hash = (a => 'A', b => 'B');
%hash = (%hash, c => 'C', d => 'D');
[/quote]
das kann bei sehr grossen hashes eventuell ungünstig sein, da hier der gesamte
inhalt umkopiert wird.[/quote]
oder mit slices, da duerfte wohl nichts umkopiert werden...
Code: (dl )
1
2
my %hash = (a => 'A', b => 'B');
@hash{qw(c d e f)} = qw(C D E F);
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< |< 1 2 3 4 >| >> 31 Einträge, 4 Seiten



View all threads created 2004-03-12 21:27.