Ben XML :: Akıllı tasarruf kullanıldıktan sonra uyarmak ile ilgili bir sorun olduğunu fark kurtardı.Perl, XML sonra çalışmıyor uyarmaya :: Akıllı
#!/usr/bin/perl
use strict;
use warnings;
use XML::Smart;
my $XML = XML::Smart->new() ;
print STDOUT "Before save: Print to STDOUT works\n";
print STDERR "Before save: Print to STDERR works\n";
warn "Before save: Warn works\n";
$XML->save('newfile.xml') ;
print STDOUT "After save: Print to STDOUT works\n";
print STDERR "After save: Print to STDERR works\n";
warn "After save: Warn does not work\n";
Testi OSX 10.8.2 perl sürümü yapılır 5.12.4 xml-akıllı versiyonu Bu muhtemelen yakından XML :: Akıllı çalışma biçiminde ilişkili, ancak geri yüklemek için bir yol yoktur edilir 1.77
uyarının basılması (STDERR'i sıfırla).
[DÜZ 19/3/2013]: HP-UX yapıcısında de problemlidir. Aşağıda ikegami tarafından sağlanan geçici çözüm, hem yeni hem de sorunun üstesinden gelmek için kullanılabilir. TLP belirttiği gibi
Bu benim için iyi çalışıyor. Ben Strawberry Perl 5 versiyon 16.2'deyim. Uyarıyı kaçırmadığından emin misin? “STDOUT-> autoflush” ile başlamadığınız sürece son çıktı satırı olarak görünmez. – Borodin
Onaylandı: archlinux x86_64, XML-Smart-1.77 ve perl 5.16.2 ile aynı sorun, bir hata raporu doldurmalısınız. '$ Ile | ++', hiçbir şey –
değiştirir Bu XML 'tanımlanan denilen bir işlev' _unset_sig_warn() ':: Akıllı :: Shared' bir depolayarak' '$ SIG {__ __ WARN} devre dışı bırakmaya çalıştığında bağlı gözükmektedir sözcüksel değişken. – TLP