ich hab da n kleines Problem mit dem Call by Reference:
ich möchte eine Hash_ref einer subroutine übergeben und diesen dann weiterverwenden.eigentlich kein Problem.
mein hash;
$split1->{0}= "test1";
$split1->{1}= "test2";für eval: Funktionsaufruf mit Parameter:
$funk = $comTyp . "($split1)"; ###<--- vermutetes Problem ????
eval "use $comTyp";
Was steht den in $comTyp?
Evtl. ist es sinnvoller require zu verwenden dann sparst du dir das eval.unless ($xyy = eval "$comTyp->$funk")
Irgendwie versteh ich nicht, was dabei rauskommen soll.
die Bedingung ist das $funk z.B so lauten kann: para($split1)
^^^^^
nur der Funktionsname soll variable bleiben, so spar ich mir eine switch Anweisung.
hab das Problem gelöst : !!!!!!!!
in der Funktion an die die Parameter übergeben werden hab ich den hash so abgeholt : $split1 = @_;
richtig: $split1 = $_;
danke nochmal !
Du kannst ohne Problem mit require zur Laufzeit Module einbinden und du kannst auch in Variabeln Funktionsrefrenzen speichern und dies dann Aufrufen.
sub test
{
print "test";
}my $func = &test;
$split1->{0}= "test1";
$split1->{1}= "test2";Das ist übrigens schon eine Referenz.
&$func($split1)
Struppi.