#!/usr/bin/env perl -l
use strict;
use warnings;
use Inline::Files;
my %doc_fh_for = (File0 => \*FILE0, File1 => \*FILE1, File2 => \*FILE2);
my $out_fh = \*STDOUT;
my $key_file = 'File0';
my @feature_files = qw{File1 File2};
print $out_fh '';
write_xml_content($key_file, $doc_fh_for{$key_file}, $out_fh, ' ' x 4);
print $out_fh '
';
for (@feature_files) {
write_xml_content($_, $doc_fh_for{$_}, $out_fh, ' ' x 8);
}
print $out_fh '
';
sub write_xml_content {
my ($file_id, $in_fh, $out_fh, $indent) = @_;
while (<$in_fh>) {
chomp;
if (/^<\/?doc>$/) {
s/doc/$file_id/;
}
else {
if (/^$/) {
my $id = $1;
s/$id/$file_id-$id/;
}
$_ = ' ' x 4 . $_;
}
print $out_fh $indent, $_;
}
}