#!/usr/bin/perl
use strict;
use warnings;
my $fh;
my $tag;
my %hash;
my @metadata_tags;
my $flag;
while (<DATA>) {
chomp $_;
if(/^{(.*)}/) {
$tag = $1;
push(@metadata_tags,$tag);
} else {
if($tag eq 'FILE') {
if(defined($fh)){
print $fh "</ROOT>";
close($fh);
}
my $filename = $_;
open($fh, '>', "$filename.xml") or die "$filename: $!";
print $fh '<?xml version="1.0"?>',"\n";
print $fh "<ROOT>\n";
print $fh "<FILE>$filename</FILE>\n";
} elsif(defined($fh)) {
if($_ ne ''){
if($_ !~ m/^{/){
$_ =~ s/\\//gi;
chomp;
print "<$tag>$_</$tag>\n";
# }
}
}
}
}
}
__DATA__
{FILE}
sourcetag1
{NUMBER}
00000
11111
{SOURCE}
source1
{KEYWORD}
{AUTHOR}
author1 staff1
{HEADLINE}
DISPOSABLE DECOR: THE CUTTING EDGE DULLS FAST\
STYLE AT A SPEED USUALLY ASSOCIATED WITH WARDROBE ITEMS.
{FILE}
sourcetag2
{NUMBER}
00002
{SOURCE}
sourcenam2
{KEYWORD}
{AUTHOR}
author2 staff2
But this produces output like this
<NUMBER>00000</NUMBER>
<NUMBER>11111</NUMBER>
<SOURCE>source1</SOURCE>
<AUTHOR>author1 staff1</AUTHOR>
<HEADLINE>DISPOSABLE DECOR: THE CUTTING EDGE DULLS FAST</HEADLINE>
<HEADLINE>STYLE AT A SPEED USUALLY ASSOCIATED WITH WARDROBE ITEMS.</HE
+ADLINE>
<NUMBER>00002</NUMBER>
<SOURCE>sourcenam2</SOURCE>
<AUTHOR>author2 staff2</AUTHOR>
Instead of
<NUMBER>00000</NUMBER>
<NUMBER>11111</NUMBER>
<SOURCE>source1</SOURCE>
<AUTHOR>author1 staff1</AUTHOR>
<HEADLINE>DISPOSABLE DECOR: THE CUTTING EDGE DULLS FAST STYLE AT A SPE
+ED USUALLY ASSOCIATED WITH WARDROBE ITEMS.</HEADLINE>
<NUMBER>00002</NUMBER>
<SOURCE>sourcenam2</SOURCE>
<AUTHOR>author2 staff2</AUTHOR>
Please anyone help me
|