s/(?:$search>){3}()\w+\s+/Notes:/;
s/(?:$search>){5}()\w+\s+/Director:/;
s/(?:$search>){7}()\w+\s+/Actors:/;
####
my $data = do {local $/;}; # slurp the whole file into $data
my @replace_list = ('','Notes:','Director:','Actors:');
while ($data =~ s/(?<=$search)/shift @replace_list/egs) {};
####
#!/usr/bin/perl -w
use warnings;
use strict;
my $record_count = 0;
my $search = 'dc:description';
my ($dir) = @ARGV;
defined($dir) || usage();
chop($dir) if $dir =~ m#/$#;
opendir(DIR, $dir) || die "Can't open $dir\n";
$file = readdir(DIR);
$file = readdir(DIR);
my $temp = 'temp.xml';
while (defined($file = readdir(DIR))) {
print "Defined $dir/$file\n";
open(OLD, "< $dir/$file") or die "can't open $dir/$file: $!";
open(TEMP, ">> $dir/$temp") or die "can't open $dir/$temp: $!";
while () {
#***insert***
print TEMP $_ or die "can't write $temp: $!";
}
close(OLD) or die "can't close $dir/$file: $!";
close(TEMP) or die "can't close $dir/$temp: $!";
rename("$dir/$file", "$dir/$file.orig") or die "can't rename $file to $file.orig: $!";
rename("$dir/$temp", "$dir/$file");
$record_count++;
}
closedir (DIR);
msg("Processed $record_count files from $dir");
sub msg {
print @_, "\n";
}
sub usage {
msg("Usage: $0 ");
exit(1);
}