From perlop:
The => operator is a synonym for the
  comma except that it causes its left
  operand to be interpreted as a string
  if it begins with a letter or
  underscore and is composed only of
  letters, digits and underscores. 
This includes operands that might
  otherwise be interpreted as operators,
  constants, single number v-strings or
  function calls. If in doubt about this
  behaviour, the left operand can be
  quoted explicitly.
Otherwise, the => operator behaves
  exactly as the comma operator or list
  argument separator, according to
  context.
For example:
use constant FOO => "something";
my %h = ( FOO => 23 );
is equivalent to:
my %h = ("FOO", 23);
It is NOT:
my %h = ("something", 23);
The => operator is helpful in
  documenting the correspondence between
  keys and values in hashes, and other
  paired elements in lists.
%hash = ( $key => $value );
login( $username => $password );
From PBP:
I have found some good information from Perl Best Practices about Fat Commas => and i think it should be nice to mention over here too.
It's better to reserve the fat comma exclusively for the following things:-
Use it when constructing a hash:
my %h = ( FOO => 23 );
or when passing named arguments to a subroutine ie.,
$text = format_text({FOO => 23, BAR => 30});
or when creating a constant:
 Readonly my $FOO => "23";
For more detail see the Chapter4:Values and Expressions (Fat Commas) section of Perl Best Practices.