Schrift
[thread]12811[/thread]

Array an ein Anderes übergeben



<< >> 4 Einträge, 1 Seite
RoperC
 2008-11-23 17:57
#116555 #116555
User since
2008-11-21
6 Artikel
BenutzerIn
[default_avatar]
Hallo zusammen,

ich habe ein kleines Problem wenn es darum geht die Elemente eines Arrays an ein anderes zu übergeben. Ich habe ein Array mit Elementen und möchte diese zunächst alle unverändert an ein anderes übergeben, auf welchem ich dann später Änderungen durchführe.

Meine Idee war das ganze mit push zu lösen.
Also:
Code: (dl )
1
2
push(@test, @array);
print "Test: @test\n";

Das Funktioniert wunderbar.

Allerdings habe ich jetzt in meinem konkreten Fall ein Array mit variablem Namen, dass an Hand des Schleifenzählers seinen Namen bekommt. (block_0, block_1 usw... ) Damit scheint das ganze allerdings nicht so zu funktionieren.

Code: (dl )
1
2
push(@{"block_".$k}, @ip);
print @{"block_".$k};
Linuxer
 2008-11-23 18:13
#116556 #116556
User since
2006-01-27
3891 Artikel
HausmeisterIn

user image
Hm,

und was ist nun? Scheint es nicht zu funktionieren, oder funktioniert es nicht?
Was passiert? Was passiert nicht?
Welche Fehlermeldung/Warnung wird ausgegeben?

Allgemein ins winterliche Himmelsblaue geraten:

Du solltest strict und warnings verwenden, sofern Du es noch nicht tust.
Du solltest einen Hash-of-Arrays benutzen, um Deine Arrays zu benennen; siehe perldsc.

Beispiel:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/perl -l
use strict;
use warnings;
use Data::Dumper;

my %HoA;

for my $i ( 1 .. 3 ) {
  push @{ $HoA{'block_' . $i } }, 3..6;
}

print Dumper \%HoA;

__END__
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
#Kein Kommentar
 2008-11-23 18:14
#116557 #116557
User since
2007-06-09
575 Artikel
HausmeisterIn
[default_avatar]
du solltest symbolische variablen auf jeden fall vermeiden (guckst du hier).

warum dieses beispiel nicht funktioniert, weiß ich auch nicht, aber wenn du use strict verwenden würdest, würdest du gleich eine warnung kriegen
Gerade weil wir alle in einem Boot sitzen, sollten wir froh sein, dass nicht alle auf unserer Seite sind
RoperC
 2008-11-23 19:26
#116558 #116558
User since
2008-11-21
6 Artikel
BenutzerIn
[default_avatar]
Warnings verwende ich, use strict bisher nicht. Werde mir das wohl jetzt angewöhnen (und damit auch alle Variablen deklarieren).

Wie ich jetzt gelesen habe ist es wohl eindeutig sinnvoller einen Hash zu benutzen, was ich jetzt auch tun werde.

Danke für die Antworten
<< >> 4 Einträge, 1 Seite



View all threads created 2008-11-23 17:57.