2014-07-09 62 views
8

Çok fazla deneysel (when, smartmatch, given) özellikleri kullanan bir kod parçam var, bu benim kodum değil ve çok fazla uyarı görmek istemiyorum deneysel özellikler hakkında. Bu yüzden bu koda no warnings 'experimental'; ekledim.Eski perlde 'experimental' uyarısı yok

Bilinmeyen uyarıları

Nasıl bu uyarıları devre dışı bırakabilir ve yaşlı Perls kodumu bozmazlar kategori 'deneysel': Ama experimental kategori sadece 5.18 perl yani benim kod yaşlı Perls ölür de eklendi ?

+0

Сухой27 @, bu kod Evet, doğru ... – Suic

+0

uyarılar içeride blok BEGIN devre dışı bırakır Bu satırdaki bir betikte ve başka hiçbir şeyde. Başka bir şey mi kullanmalıyım? –

cevap

11

if deneyin: `` `deneysel bulunamıyor:

no if ($] >= 5.018), 'warnings' => 'experimental'; 
9

experimental modülünü kurmayı ve kullanmayı deneyin. Daha eski perllerde hiçbir şey yapmayacak ve yeni perllerde uyarıları devre dışı bırakacaktır.

use experimental qw(smartmatch switch); 
+1

perl 5.14.2 bana verdi – msouth

+2

@msouth Modülün kurulu olduğundan emin misiniz? – AKHolland

+1

Üzgünüm @AKHolland Çekirdeğin olduğunu varsaydım. Benim hatam. "Deneme modülünü yüklemeyi deneyin" ifadesini okuyarak, bu yanlış varsayımı başkalarının yapmasını engelleyebilirsiniz. Sanırım küçük vakada ve onunla ilgili hiç duymadığım bir şey olduğunu düşündüm. Ve soruma cevap vermek için zaman ayırmak için zaman ayırdığınız için teşekkür ederim! – msouth