I couldn't let this untruth stand unchallenged:
Perl is not C++. It isn't type-safe
While the first part is certainly true, the second part is absolutely not. Perl is compile-time type-safe in that a scalar cannot be accessed as a hash or array, nor can an array be accessed as a scalar or hash, etc etc.
Perl is also run-time type-safe in that an object method cannot be called on an object that does not understand it without triggering an exception.
Just because Perl is "smalltalk-like" in its type safety doesn't mean you have to "dis" it if you've only seen Java and C++ type-safety.
And for the record, I prefer Perl's type safety to "always and only compile-time" type-safety in those other languages. For every hour you spend "working around" those, you could have been coding another useful hour instead.
Compile-time type safety is neither
necessary nor sufficient.
-- Randal L. Schwartz, Perl hacker