Schrift
[thread]6357[/thread]

eine Arrayreferenz füllen ?: füllen des array



<< >> 5 Einträge, 1 Seite
mordur
 2004-06-23 12:02
#83680 #83680
User since
2003-09-25
182 Artikel
BenutzerIn
[Homepage] [default_avatar]
moins,

ich habe:
Code: (dl )
1
2
my @files=();
$array->{FILES}=\@files;


in einer Subroutine möchte ich dann mit:
Code: (dl )
1
2
3
4
foreach (@filearray)
{
push (@{$array->{FILES}},$_);
}

das Array füllen. Leider klappt das so nicht. Das Array bleibt leer oder ich kann es mit
Code: (dl )
1
2
3
4
foreach (@{$self->{FILES}})
{
print $_,"\n";
}

nicht auslesen.
jemand der weiss wies geht?
renee
 2004-06-23 12:24
#83681 #83681
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ja, einmal nimmst Du $self und einmal $array...

$array lässt ein Array hinter der Referenz vermuten, das ->{FILES} jedoch auf ein Hash. Was benutzt Du??

Lass Dir doch zwischendurch mal den dump mit Data::Dumper ausgeben.

Das hier funktioniert:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
#! /usr/bin/perl

use Data::Dumper;

my %hash = ();
my @files = ();

$hash{FILES} = \@files;
print Dumper(\%hash);

push(@{$hash{FILES}},'test');
print Dumper(\%hash);
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/
Thorium
 2004-06-23 12:58
#83682 #83682
User since
2003-08-04
232 Artikel
BenutzerIn
[Homepage] [default_avatar]
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
wch@schorsch:~$ perl
@array = ('a', 1);
%hash = ();

$hash{'FILES'} = \@array;

push(@{$hash{'FILES'}}, , 'Hallo');
push(@array, 'Welt');

print foreach (@{$hash{'FILES'}});
^D
a1HalloWelt


Das funktioniert tiptop...
Per|li|nist der; -en, -en <zu ↑...ist>: a) Anhänger, Vertreter der radikalen Perlinisten die Perl als die einzig wahre Sprache ansehen; b) Mitglied einer perlinistischen Community.
mordur
 2004-06-23 13:06
#83683 #83683
User since
2003-09-25
182 Artikel
BenutzerIn
[Homepage] [default_avatar]
na $self war nur'n vertipper. ich wollte das in ein fertiges Programm einschleusen. dort wird aber wie wild geforkt und geSOCKt ;-) das da irgendwo was verloren geht. von daher hat sich das erledigt..
Dubu
 2004-06-28 01:02
#83684 #83684
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
[quote=mordur,23.06.2004, 10:02]
Code: (dl )
1
2
3
4
foreach (@filearray)
{
push (@{$array->{FILES}},$_);
}
[/quote]
Das sollte doch wohl
Code: (dl )
push @{$array->{FILES}}, @filearray;

heissen, oder? ;)
<< >> 5 Einträge, 1 Seite



View all threads created 2004-06-23 12:02.