Cheatah: Variablendatei in PHP und Perl nutzen

Beitrag lesen

Hi,

open (DAT , "<daten/variables.csv");

open(DAT, '<daten/variables.csv') or die "Kann variables.csv nicht oeffnen: $!";

while ($var_line=<DAT>)

while (my $var_line=<DAT>) {

(Du hast doch 'use strict;' eingebunden und 'perl -w' in die Shebang geschrieben, oder?)

push ( @vars , $var_line );

Hm. Da reicht ein

my @vars = <DAT>;

Außerdem steht in perldoc perlstyle einiges zu Klammer- und IIRC auch über Kommasetzung drin... ;-)

$lines=0;
foreach $var_line (@vars)

for (my $lines=0; $lines<scalar @vars; $lines++) {

Außerdem kannst Du das eigentlich auch machen, während Du die Datei zeilenweise einliest. Du brauchst die Daten schließlich nur im Hash, nicht zusätzlich im Array, oder?

push ( @temp , [ split(/;/ , $var_line) ] );

Gar nicht übel. Ich würde aber in

perldoc -f split

nachlesen, was der optionale dritte Parameter bewirkt ;-) und erst mal Name und Wert der Zeile in 'my ($name, $wert) = split(...);' speichern.

jetzt hab ich aber alles im @temp.

Richtig. Du willst es aber in %vars haben, um auf $vars{'bla'} zugreifen zu können. Also was tust Du? ;-)

wenn ich mich richtig erinner', kann ich jetzt die einzelnen felder ala $temp[0][1] oder so ansprechen,

Nönö, Lists Of Lists sind in Perl (leider) ein wenig komplizierter. Wenn's Dich interessiert, lies perldoc perllol - aber für ein Hash brauchst Du das nicht.

aber wie krieg ich das hin, das $temp[0][0] (variablenname) nun mal zur variable wird, der dann auch noch $temp[0][1] (variableninhalt) zugewiesen wird?

Falscher Datentyp ;-) Siehe perldoc perldata

Cheatah