Schrift
[thread]6024[/thread]

Arrays



<< >> 5 Einträge, 1 Seite
Gast Gast
 2004-01-20 13:13
#79306 #79306
Hallo,
bin absoluter Neuling und habe ein Problem mit dem Verständnis von Arrays in Perl.
Ich habe in einem Skript folgende Zeile:
my $data = [15535, 28, 40, 55, 75, 68, 54, 60, 50, 62, 75, 65, 75, 91, 60, 55, 53, 35, 50, 66, 56, 48, 52, 65, 62, 100, 111, 50, 36, 55];

Wenn ich nun
print "$data \n";
ausführe kommt folgende Ausgabe: ARRAY(..x....)
also gehe ich wohl zurecht davon aus, dass es sich hier um ein Array handelt.

Nun möchte ich aber nicht die Werte, die dort drin stehen, sondern Werte, die ich vorher aus einer DB ausgelesen habe.
Ich habe die Werte erst in ein eigenes array gepackt, doch die kann die Subroutine, die dann aufgerufen wird nicht gebrauchen.
(Error converting argument 1 to type class DoubleArray...).

Ebenso habe ich dann versucht mit einer Schleife die Werte von meinem Array in $data zu schieben, doch dann habe ich plötzlich einen String.
Wie kann ich ein Array dieser Form erzeugen ohne die festen Werte direkt angeben zu müssen? Falls mir da jemand den Nebel lichten könnte, wäre ich überaus dankbar.

Vielen Dank im voraus,
wasa
Crian
 2004-01-20 13:16
#79307 #79307
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Es ist eine Referenz auf ein Array.

Probier mal

Code: (dl )
print @$data, "\n";


Vermutlich erwartet die Funktion eine Referenz auf ein Array. Wenn Du Deine Daten in einem normalen Array gespeichert hast, kannst Du mit \@array eine Referenz auf dieses Array an die Funktion übergeben. Die Funktion kann aber nun an Deinem Array ev. herummauscheln... (sie hat den Zugriff auf die Array-Daten).\n\n

<!--EDIT|Crian|1074597544-->
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
wasa
 2004-01-20 13:35
#79308 #79308
User since
2004-01-20
6 Artikel
BenutzerIn
[default_avatar]
Hi Crian,

vielen Dank,
hat geklappt.
Habe einfach eine Referenz von meinem array auf das andere gesetzt und es funzt!

Bis denne,

wasa
Crian
 2004-01-20 15:19
#79309 #79309
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Gut, dachte ich mir, dass es das schon tun würde :)
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
Strat
 2004-01-21 13:02
#79310 #79310
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
lies dir vielleicht mal durch, was ich auf meiner HP -> Tips&Tricks -> Einfuehrung in Perl über Referenzen schreibe...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< >> 5 Einträge, 1 Seite



View all threads created 2004-01-20 13:13.