use warnings; # flags many questionable constructs use diagnostics; # makes error messages much more understandable