- defined $self->{$type} and warn "duplicate map chunk $type\n";
- $self->{$type} = $self->_read($file, $size);
+ if (defined $self->{$type}) {
+ # redefinitions (partially) override earlier data from start
+ warn "duplicate map chunk $type\n";
+ my $prepend = $self->_read($file, $size);
+ substr($self->{$type}, 0, length($prepend)) = $prepend;
+ next;
+ }
+ else {
+ $self->{$type} = $self->_read($file, $size);
+ }