Tach!
Habe mich für Variante zwei entschieden, da die zweite Funktion erst später aufgerufen werden soll.
Vielleicht wäre dann Variante drei angemessener: f1() gibt das e über return zurück, du merkst dir das in einer Variable und übergibst es zur gegebenen Zeit an f2() als Parameter. Das entspräche auch eher den Prinzipien sauberer Programmierung. Man sieht bei einem Aufruf, dass die Funktion etwas haben will und was es ist, anstatt dass sie es einfach so irgendwo erwartet und es dort bereitstehen muss.
dedlfix.