Schrift
[thread]572[/thread]

Array trotz hash definition

Leser: 1


<< |< 1 2 >| >> 11 Einträge, 2 Seiten
Strazke
 2005-09-16 03:43
#5595 #5595
User since
2005-07-11
120 Artikel
BenutzerIn
[default_avatar]
Hallo, ich schreibe einen Cookie mit .... value=>{ name=>"toll"}
wenn ich dann allerdings value hohle, ist dies ein ARRAY wert. Ist das normal?
Strazke
 2005-09-16 05:57
#5596 #5596
User since
2005-07-11
120 Artikel
BenutzerIn
[default_avatar]
OK, da es ein Array war, habe ich es jetzt wie folgt umgeschrieben:

Code: (dl )
1
2
3
4
5
6
   my %cookies = fetch CGI::Cookie;
my %preferences;
for (my $k=0;$k<$#cookies{'preferences'}{value};$k=+2){
$preferences{$cookies{'preferences'}{value}[$k] =
$cookies{'preferences'}{value}[$k+1]);}
return %preferences;}


allerdings meckert perl, das:
Code: (dl )
$#cookies{'preferences'}{value}
gäbe es nicht. Also habe ich :
Code: (dl )
return %preferences = $cookies{'preferences'}{value};


probiert, aber das klappt auch nicht (angeblich keine keys).
renee
 2005-09-16 09:20
#5597 #5597
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Mach mal
Code: (dl )
1
2
3
use Data::Dumper;

print Dumper(\%cookies);


Dann siehst Du was alles in Deinem Hash ist...
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/
Strazke
 2005-09-16 09:43
#5598 #5598
User since
2005-07-11
120 Artikel
BenutzerIn
[default_avatar]
Da ist nichts in dem Hash??? Man kann aber ein Hash als returnwert nehmen, oder nimmt man die die reference?
Strazke
 2005-09-16 10:13
#5599 #5599
User since
2005-07-11
120 Artikel
BenutzerIn
[default_avatar]
ok, habs fast. ich habe in $cookies{preferences}{values} ein ARRAY, das auf undef zeigt.?

Wie kann ich nun das aray in ein hash verwandeln?
renee
 2005-09-16 10:25
#5600 #5600
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Was willst Du eigentlich machen?? Kannst Du das mal genauer erklären?? Ich denke, der Fehler liegt an einer anderen Stelle (Zwischen Idee und Umsetzung)...
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/
Strazke
 2005-09-16 11:47
#5601 #5601
User since
2005-07-11
120 Artikel
BenutzerIn
[default_avatar]
habes jetzt. Ich wollte ein hash zurückgeben, mit den daten des cookies:
Code: (dl )
1
2
my $array = $cookies{preferences}{values};
return @$array;
format_c
 2005-09-16 12:00
#5602 #5602
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Strazke: You're speaking in riddles :-p

Die Definition ähnelt sehr der von einem Array da der "=>" Operator eigentlich nix anderes als ein "," ist.
Code: (dl )
1
2
3
4
5
6
7
my %peers1 = ('Haus','Tuer','Auto','Rad');
my %peers2 = ('Haus'=>'Tuer',
             'Auto'=>'Rad'
             );
use Data::Dumper;
print Dumper(\%peers1);
print Dumper(\%peers2);


Gruß Alex\n\n

<!--EDIT|format_c|1126857727-->
renee
 2005-09-16 12:08
#5603 #5603
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=format_c,16.09.2005, 10:00][...]
Die Definition ähnelt sehr der von einem Array da der "=>" Operator eigentlich nix anderes als ein "," ist.
[...]

Gruß Alex[/quote]
Naja, nicht 100%ig...

=> sorgt auch für das Quoting des vorangehenden Elements. Deswegen kann man bei Benutzung von => die ' weglassen

vergleiche:
Code: (dl )
my %hash = (test => 1, hallo => 2);

und
Code: (dl )
my %hash = (test,1,hallo,2);
\n\n

<!--EDIT|renee|1126858115-->
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/
Strazke
 2005-09-16 13:36
#5604 #5604
User since
2005-07-11
120 Artikel
BenutzerIn
[default_avatar]
und wenn ich es mit -> machen würde, würde ich ein HASH kriegen?
<< |< 1 2 >| >> 11 Einträge, 2 Seiten



View all threads created 2005-09-16 03:43.