ASCII diagram creator
Perl has a module called 'Graph::Easy' which can create a diagram from a graph automatically, and can also do ASCII-output. See http://bloodgate.com/graph-demo for an interactive demo.  [Sun] -- [Pear]
  [Apple] --> [Pear]
  [Pear] -- [fruit] --> [Pineapple]
  [Pear] --> [Cherry]
  [fruit] ==> [Done]

Renders to:                +--------+
                | Cherry |
                +--------+
                  ^
                  |
                  |
  +-------+     +--------+     +-------+     +-----------+
  | Apple | --> |  Pear  | --- | fruit | --> | Pineapple |
  +-------+     +--------+     +-------+     +-----------+
                  |              H
                  |              H
                  |              v
                +--------+     +-------+
                |  Sun   |     | Done  |
                +--------+     +-------+