Übrigens lässt sich das mit
Moose deutlich reduzieren (ungetestet):
#!/usr/bin/perl
use strict;
use warnings;
package DOCUMENT;
use Moose;
has 'parent' => ( is => 'rw' );
has 'child' => ( is => 'rw' );
has 'doc_format' => ( is => 'rw' );
has 'name' => ( is => 'rw' );
has 'doc_type' => ( is => 'rw' );
has 'spalteninfo' => ( is => 'rw' );
1;