Font
[thread]6138[/thread]

array im hash

Readers: 2


<< |< 1 2 3 4 >| >> 31 entries, 4 pages
Free Faq
 2004-03-12 21:27
#80917 #80917
User since
2003-09-10
141 articles
BenutzerIn
[default_avatar]
Ich lerne gerade Hashes lieben :D
Nur hab ich jetzt ein Problem:
Ich will in einem Hash Z.B. $Hash{Array} ein Array abrufen können.
Hab dazu mal ein kleines Testscript geschrieben:
Code: (dl )
1
2
3
4
$Hash{Array}[0] = "abc";
$Hash{Array}[1] = "xyz";
print "content-type: text/html\n\n";
print "$Hash{Array}[1]";

Das funtzt soweit. Nun würde ich aber gern wissen, wieviele Elemente das hash-array hat.
Habs unteranderem mit:
Code: (dl )
print $#Hash{Array};

versucht, aber das will nicht so ganz =)
Andere Frage:
WIe kann ich vereinfachter ein Array in einem hash speichern?
Code: (dl )
$Hash{Array} = @Array;

geht ja nicht.
Haut mich nicht, ich bin ein Noob!
renee
 2004-03-12 21:34
#80918 #80918
User since
2003-08-04
14371 articles
ModeratorIn
[Homepage] [default_avatar]
zB:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use Data::Dumper;
my %hash = ();
my @array = qw(1 2 3 4 5);
$hash{Array} = \@array;

#anzahl der elemente des arrays im hash
my $anzahl = scalar(@{$hash{Array}});

#alle elemente ausgeben
foreach(@{$hash{Array}}){
 print $_;
}

# einzelnes element (4.) ausgeben
print $hash{Array}->[3];

# datenstruktur ausgeben
print Dumper(\%hash);
\n\n

<!--EDIT|renee|1079120141-->
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/
coax
 2004-03-12 21:43
#80919 #80919
User since
2003-08-11
457 articles
BenutzerIn
[default_avatar]
Bestimmung der Elemente vom Array ueber $# (aber umstaendlich) :
Code: (dl )
1
2
3
4
5
@array = (1..5);

$hash{array} = \@array;

print $#{${hash{array}}};
,,Das perlt aber heute wieder...'' -- Dittsche
renee
 2004-03-12 21:47
#80920 #80920
User since
2003-08-04
14371 articles
ModeratorIn
[Homepage] [default_avatar]
$#array ist aber nicht die Anzahl der Elemente, sondern der Index des letzten Elements...
Die Anzahl der Elemente wäre somit $#array+1 ...
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/
Relais
 2004-03-12 22:04
#80921 #80921
User since
2003-08-06
2246 articles
ModeratorIn
[Homepage] [default_avatar]
$zahl_der_elemente = scalar @array;

Edit:
$zahl_der_elemente = scalar @{ $array_referenz };\n\n

<!--EDIT|Relais|1079121969-->
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop (Termin wird noch gesucht) 2025 in München.

Winter is Coming
renee
 2004-03-12 22:07
#80922 #80922
User since
2003-08-04
14371 articles
ModeratorIn
[Homepage] [default_avatar]
sagte ich ja bereits ... 8)
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/
coax
 2004-03-12 22:09
#80923 #80923
User since
2003-08-11
457 articles
BenutzerIn
[default_avatar]
[quote=renee,12.03.2004, 20:47]$#array ist aber nicht die Anzahl der Elemente, sondern der Index des letzten Elements...
Die Anzahl der Elemente wäre somit $#array+1 ...[/quote]
ja ja, stimmt schon :)
,,Das perlt aber heute wieder...'' -- Dittsche
Free Faq
 2004-03-13 13:22
#80924 #80924
User since
2003-09-10
141 articles
BenutzerIn
[default_avatar]
uiui sieht aber kompliziert aus :rock:
Werds mir gerad mal angucken
thx

EDIT: Supi es funtzt :D\n\n

<!--EDIT|Free Faq|1079184582-->
Haut mich nicht, ich bin ein Noob!
Free Faq
 2004-03-13 16:40
#80925 #80925
User since
2003-09-10
141 articles
BenutzerIn
[default_avatar]
Hmm bei mir hat sich wieder ein Problem ergeben :( .
Wieso tut das nicht?:
Code: (dl )
$HashTwo{ArrayTwo} = \@{$Hash{Array}};
\n\n

<!--EDIT|Free Faq|1079188978-->
Haut mich nicht, ich bin ein Noob!
Relais
 2004-03-13 16:43
#80926 #80926
User since
2003-08-06
2246 articles
ModeratorIn
[Homepage] [default_avatar]
[quote=Free Faq,13.03.2004, 15:40]Wieso tut das nicht?:
Code: (dl )
$HashTwo{ArrayTwo} = \@{$Hash{Array}};
[/quote]
Willst Du dies?
Code: (dl )
$HashTwo{ArrayTwo} = $Hash{Array};


Oder willst Du das?
Code: (dl )
$HashTwo{ArrayTwo} = [ @{ $Hash{Array} } ];
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop (Termin wird noch gesucht) 2025 in München.

Winter is Coming
<< |< 1 2 3 4 >| >> 31 entries, 4 pages



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