:String interpolasyon herhangi bir ifade değerlendirmesini yapabilir mi? sorusuna ilişkin
$a = 1;
print "#{$a + 1}";
ve 2
yazdırabilirsiniz: Perl How do I substitute with an evaluated expression in Perl?
, bir yol Ruby gibi yapmak var mı?
:String interpolasyon herhangi bir ifade değerlendirmesini yapabilir mi? sorusuna ilişkin
$a = 1;
print "#{$a + 1}";
ve 2
yazdırabilirsiniz: Perl How do I substitute with an evaluated expression in Perl?
, bir yol Ruby gibi yapmak var mı?
bunun için Perl benzer bir kestirme vardır:
[]
bir öğe (hesaplamanın sonucu) ihtiva eden bir dizi için bir referans oluşturur ve daha sonra
@{}
dizi dereferences için bu çalışır
$a = 1;
print "@{[$a + 1]}"
, dizgi içi enterpolasyon, dizinin her elemanını sırayla basar. Sadece bir tane olduğu için, sadece bir elemanı basar.
Greg Hewgill'in bahsettiği @{[ EXPRESSION ]}
numarasını kullanabilirsiniz.
Ayrıca, ifadeleri değerlendirmeye ek olarak, enterpolasyon yaptığınız değerler üzerinde (HTML öğelerini kodlamak gibi) de keyfi dönüşümler yapmanızı sağlayan Interpolation modülü de bulunmaktadır.
Başka bir seçenek var: "$ {\\ ($ a + 1)}" 'ancak okunabilirlik için eskiyi tercih ediyorum. –
Ters eğik çizgi kaçmak gerektiğini düşünüyorum. Bunu denedim ve çalışıyor: "$ {\ ($ a + 1)}" ' –
@ Hynek-Pichi-Vychodil' print "$ {\\ (Cwd :: cwd)}"; get'SCALAR (0x28b7124)) '' '' '' print' $ {\ (Cwd :: cwd)} ";' '/:/Users/Administrator/IdeaProjects/untitled2' benim için – BaiJiFeiLong