The concepts of E are indeed interesting even though most of E seems to remain a pipe dream, as the last development I could find was v0.8 of 2000.
Another classless implementation is Test::MockObject, it also implements "dynamic classes" (in Smalltalk style) to which you can add/remove methods dynamically.
If one is interested in Promises (the one interesting feature of E), Object::Realize::Later implements this lazy loading of objects for Perl. Promises are a really nice way to implement concurrency within a program without having to think about locking or concurrent access : If you have a possibly long running action whose (independent) results are needed later on in your program, or maybe not at all, instead of running that action in your main thread, you spawn off a second thread that produces that result in the background and immediately returns a promise to the result. As soon as you access any method/field of the (promised) result, your main thread blocks until the background thread has produced the result. This allows you to easily enable/disable concurrency by changing one line within your code, at the cost of suboptimal efficiency - partial results (such as the first 20 rows of a database) require much more work.
perl -MHTTP::Daemon -MHTTP::Response -MLWP::Simple -e ' ; # The
$d = new HTTP::Daemon and fork and getprint $d->url and exit;#spider
($c = $d->accept())->get_request(); $c->send_response( new #in the
HTTP::Response(200,$_,$_,qq(Just another Perl hacker\n))); ' # web
| [reply] [d/l] |