On the perl/Tk side, check out Tk::Tree for the
hierarchical display or Tk::NoteBook for the
tabbed display - they are both easy to use. Syntax
highlighting should be easily doable using the tagging
support available in a Text widget. For a library that
implements a basic editor, check out Tk::Workspace.
-Mark