Visual Basic and Perl are both procedural languages that have had some Object-Oriented support added on as the languages have matured. The debate between static and dynamic typing has raged in Object-Oriented circles for many years with no clear conclusion. Fans of dynamic typing contend that it is more flexible and allows for increased productivity. Those who prefer static typing argue that it enforces safer, more reliable code, and increases efficiency of the resulting product. A dynamic type system doesn't require variables to be declared as a specific type.
Any variable can contain any value or object.
Smalltalk and Ruby are two pure Object-Oriented languages that use dynamic typing. In some cases this can make the software more flexible and amenable to change. However, care must be taken that variables hold the expected kind of object. Users of dynamically-typed languages claim that this type of error is infrequent in practice. Statically-typed languages require that all variables are declared with a specific type.