JavaScript
Variables are dynamically typed (so, essentially untyped).
Variables may be declared implicitly by value assignment.
Variables may also be declared in a var declaration (recommended).
Variables declared in a var declaration may or may not be initialized. Variables declared implicitly (even in functions) are global.
Variables declared with var inside a function are local.
Unassigned scalar variables have the value undefined.
Variable names are case-sensitive, and must begin with a letter, a dollar sign, or an underscore, and each subsequent character must be one of these, or a digit.
PHP
Variables are dynamically typed (so, essentially untyped).
Variables may be declared (implicitly) by value assignment.
Variables declared in functions are local, but can be made visible globally by preceding them with the global keyword.
Unassigned variables have the value NULL and are called unbound. (The IsSet() function can be used to test whether a variable is unbound.)
Variable names are case-sensitive and begin with a dollar sign, and subsequent characters can be letters, digits or underscores.
Perl
Perl has three different kinds of variables:
  1. scalar variables, whose names begin with a $, as in $name
  2. array variables, whose names begin with a @, as in @my_relatives
  3. hash variables, whose names begin with a %, as in %phone_book
Variables are declared implicitly by when first encountered.
Variables declared implicitly (even in functions) are global.
Unassigned scalar variables have the value undef, which has a numeric value of 0 and a string value of "".
Variable names are case-sensitive and, after the first character, contain letters, digits and/or underscores.

Perl has many built-in "implicit" variables, among the most useful of which are $_ and @_, which represent the "default scalar variable" and the "default array variable", respectively, as well as @ARGV, the array of command-line arguments.