Here's part of the output of perldoc perlvar:
$* Set to a non-zero integer value to do multi-line
  matching within a string, 0 (or
  undefined) to tell Perl that it can
  assume that strings contain a single
  line, for the purpose of optimizing
  pattern matches.  Pattern matches on
  strings containing multiple newlines
  can produce confusing results when $*
  is 0 or undefined. Default is
  undefined. (Mnemonic: * matches
  multiple things.) This variable
  influences the interpretation of only
  "^" and "$". A literal newline can be
  searched for even when "$* == 0".
Use of $* is deprecated in modern
  Perl, supplanted by the "/s" and "/m"
  modifiers on pattern matching.
Assigning a non-numerical value to $*
  triggers a warning (and makes $* act
  if "$* == 0"), while assigning a
  numerical value to $* makes that an
  implicit "int" is applied on the
  value.