Perl6 is going to introduce a non-resumable throw/catch mechanism to replace die/$@. (I assume that die will be synonymous with throw, for compatibility.)
But what about warnings? I frequently find myself wanting to "catch" warnings (e.g. to add extra context around a library's "use of undefined value" warning; or to die when a library issues a warning). Its possible to hack this but, as far as I am aware, there is no clean mechanism for resumable exceptions. Could perl6 add such a capability? I don't know what the correct syntax would be, but the pseudo code might look like: sub foo { try { $a = undef + 1 # replace this with something more interesting! } catch:warn { print "$(datestamp): $@\n"; resume unless $::warn_count++ > 10; die "warning-limit exceeded"; } } It doesn't have to be in the core language, but it would be nice if it was easy to add as a module. Dave.