Bu gizli sözdizimi ornate double-bladed sword olarak bilinir ve genellikle olarak gösterilir sınırlayıcı olarak >
ile.
Not: Eğik çizgiler olarak /
, eşleşme için sınırlayıcı olarak kullanılmıyor, 'm' işleci gerekiyor. Örneğin $my_var =~ /test/
, $my_var =~ m>test>
'a eşdeğerdir, oysa $my_var =~ >test>
geçersiz olur.
Snippet'inizdeki ilk m
karakterinin tek tırnak içine alındığından, $a
ve $b
değişkenlerinin enterpolasyona girmeyeceğine dikkat edin. Bu alıntılar atlandıysa (verilen kod örneğime göre) perl otomatik olarak son işaretleyiciye çift tırnak işareti ekler ve sonraki değişkenler enterpole edilirdi. Bu, $a
ve $b
artık tanımlı değil ve use warnings;
kullanıyorsunuz sorunlara neden olur. =~ //
gereksiz olduğunu
<<"END" =~ //
Comments here
END
;
Not, bu nedenle bu eşdeğerdir:
anlama (ama yine de tavsiye edilmez) daha kolay üstünde süslü çift bıçaklı örnek olmak için, yazabiliriz
hükümsüz bağlamda sadece standart metin sözdizimidir olduğunu
<<"END";
Comments here
END
.
Ben sorunlara yol açabilir boşluk bağlamda bir dize sahip olarak üretim kodunda bu kullanarak tavsiye etmem. Ayrıca bu kod, en deneyimli perl programcıları için bile bir kafa çizicidir ve okumak ve sürdürmek anlamsızdır! Uygun çok hatlı bir yorum oluşturmak istiyorsanız o zaman ben burada bu o kadar temizler How do I enter a multi-line comment in Perl?
Umut açıklandığı gibi pod yapışmasını öneririm. B::Deparse Running
[Garip Perl çok satırlı yorum mekanizmasını anlama] 'nın olası kopyası (http: // stackoverflow // arama: .com/sorular/5443121/anlama-garip-perl-satırlı-comment-mekanizma) – Gilles
Sen Perl gizli operatörler ve sabitler [burada] (http bir listesine erişebilirsiniz.cpan.org/dist/perlsecret/lib/perlsecret.pod). – aloisdg