1
我有兩組XML文檔,一個帶有大寫標籤,另一個帶有小寫字母,所以我試圖編寫一個Perl程序來降低第二組中的所有標籤。降低XML標籤
#!/usr/bin/perl
use strict;
use diagnostics;
use feature 'say';
my $filename;
my @filenames = glob ("*.xml");
my $FH;
my $lcCapture;
my $row;
my $match;
foreach $filename (@filenames) {
open ($FH, '<:encoding(UTF-8)', $filename)
or die "Could not open file '$filename' $!";
}
while ($row = <$FH>) {
chomp $row;
if ($row =~ m/(?:<\/?([A-Z]+)>)/) {
$match = $1;
$lcCapture = lc $match;
$match =~ s/$match/$lcCapture/g;
}
{no warnings;
print "$row\n";}
}
但我只是無法弄清楚問題可能是什麼。我已經解決了XSLT的問題。但是我希望我的Perl程序能夠正常工作!
謝謝,這就像一個夢想。你能解釋一下這個替代的最後一部分嗎?這個位:'\ L $&' – StuporUser
'\ L'是一個修飾符,它將後面的任何字符串變成小寫。 '$&'包含最近的比賽。您可以在這裏閱讀更多關於它們的信息:http://perldoc.perl.org/perlre.html – bart