What is the meaning of dots and dashes in clustalw?
As WYSIWYG touches on in the comments, usually dashes mean that there are gaps in the alignment as the result of an indel event. Dots are used to show specifically point mutations where the biochemical properties are mostly conserved, but the residue has changed.



From original question, not relevant to question as it stands.

You are right in that this isn't a proper alignment, however I'm not sure it is a bug. What you have appears to be the alignment of a nucleotide sequence that has gone horribly, horribly wrong. 

As a first guess without any more details I would say it doesn't look like you have installed clustalw correctly or pointed your bioperl to it. From the documentation here are common problems:


  
  Make sure the clustalw executable is in your path so that
  which clustalw
  returns a clustalw executable on your system.
  Define an environmental variable CLUSTALDIR which is a 
  directory which contains the 'clustalw' application:
  In bash:
  
  export CLUSTALDIR=/home/username/clustalw1.8
  
  In csh/tcsh:
  
  setenv CLUSTALDIR /home/username/clustalw1.8
  Include a definition of an environmental variable CLUSTALDIR in
  every script that will use this Clustalw wrapper module, e.g.:
  
  BEGIN { $ENV{CLUSTALDIR} = '/home/username/clustalw1.8/' }
  use Bio::Tools::Run::Alignment::Clustalw;
  


Unless you are doing massive amounts of sequence alignment, the clustalW2 webserver is quicker, more sensitive and way easier to use.