Hi PerlMonks, I am a newbie in perl and I would like seek helpon how to parse multiple xml files from a directory using a single perl script. Ex. If I execute the "Perl Clean.pl" in the cmd. All xml files in the same directory will remove the unwanted tags, without affecting its filename or should I say it will retain its filename or its better if I also send it on another directory. Below is my code: Many Thanks!
#!/xce/bin/perl -w use warnings; opendir(DIR, ".") or die "cannot open directory"; @docs = grep(/\.xml$/,readdir(DIR)); foreach $file (@docs) { open (INFILE, "$file") or die "could not open $file\n"; # Process error data to rectify the error records in massaged data while (<INFILE>) { while(/<p>\s*<text>([^\000]*?)<\/text>\s*<\/p>/){ $temp=$1; $temp=~s/<p[^\000]*?\/>//gmi; $temp=~s/<br\/>//gmi; s/<p>\s*<text>[^\000]*?<\/text>\s*<\/p>/<P>\n<TEXT>$temp<\/TEXT>\n +<\/P>/; } s/(<\/?)TEXT/$1text/gm; s/(<\/?)P/$1p/gm; print $_; # Output the contents of $_ to # output file } #Close the infile. close(INFILE); }
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |