Comparing Perl to C++ and Java

Varibles
All valiables must start with a '$', '@', or '%'.
Variables have no type beyond scalar, array, of file handle.
Associative arrays.
Arrays can have variable length.
Can tell array length with just $#arrayname
Can do whole array operations
All variables are global not local unless otherwise.'
Can track undefined values.
Control Structures
Control structures with single line bodies still need { }
Has reverse if
Has both if and unless
Has both C and Perl style for loops
Functions
Have that weird syntax
Can have different arg numbers
Cannot nest functions inside of functions.
Operators
More builtin string types
Uses . and +: no overloading
Has builtin filesystem operators
Others
Can shell out with just ` ` -- Easy, but a security hole.
Interrated, not compiled