in reply to Ensuring forward compatibility

we don't need to worry about Perl 6 not recognising Perl 5, so there isn't actually much to be said.

There's a well known programming language that forces you to put everything into a class.
Many here are known to shun it for this rigidness.

Then there's Perl where, think about it, you may actually chose to put everything into a package.
It can be executed if you want it to, you put a

unless ( caller ) {
    package main;
    do what needs to be done here
}

block somewhere and there you go.
TIMTOWTDI again and no worries about scripts that don't have a package declaration.

Cheers, Sören (who learned this bit from Johan Vromans)