Juhuu, es geht:
for ($z=0; $z<$anzahl; $z++) {
$zeile = eregi_replace ("(define[(]'$schluessel[$z]', ')(.*)('[)];)","\1 $werte[$z] \3",$zeile);
}
echo $zeile."<br>";
$zeilen war eigentlich verkehrt, weil es war kein Array, sondern eben nur eine Zeile. Es lag an den Klammern und dem Punkt vor dem Stern.
Danke, super.