If an unbound symbol is evaluated, a global AUTLOAD function is called with that symbol as an argument. AUTOLOAD could then parse this symbol and add, at runtime, the necessary functions/variables to the global environment. Invoking AUTOLOAD only on a page-fault basis may not be too inefficient. I have very often seen this done in Perl.
By the way, I like the Perl-like syntax just fine.