Perl - Sözdizimine Genel Bakış
Perl birçok dilden sözdizimi ve kavramları ödünç alır: awk, sed, C, Bourne Shell, Smalltalk, Lisp ve hatta İngilizce. Bununla birlikte, diller arasında bazı kesin farklılıklar vardır. Bu bölüm, Perl'de beklenen sözdizimi konusunda sizi hızlı bir şekilde hızlandırmak için tasarlanmıştır.
Bir Perl programı, yukarıdan aşağıya doğru çalışan bir dizi bildirim ve ifadeden oluşur. Döngüler, alt yordamlar ve diğer denetim yapıları, kod içinde atlamanıza izin verir. Her basit ifade noktalı virgülle (;) bitmelidir.
Perl serbest biçimli bir dildir: Dilediğiniz gibi biçimlendirebilir ve girintileyebilirsiniz. Whitespace, sözdiziminin önemli bir parçası olduğu Python veya önemsiz olduğu Fortran gibi dillerin aksine çoğunlukla belirteçleri ayırmaya hizmet eder.
İlk Perl Programı
Etkileşimli Mod Programlama
Perl tercümanı ile kullanabilirsiniz -ekomut satırındaki seçenek, Perl ifadelerini komut satırından çalıştırmanıza izin verir. $ İstemi için aşağıdaki gibi bir şey deneyelim -
$perl -e 'print "Hello World\n"'
Bu yürütme aşağıdaki sonucu verecektir -
Hello, world
Komut Dosyası Modu Programlama
Zaten $ istemi üzerinde olduğunuzu varsayarak, vi veya vim editörü kullanarak bir metin dosyası hello.pl açalım ve aşağıdaki satırları dosyanızın içine koyalım.
#!/usr/bin/perl
# This will print "Hello, World"
print "Hello, world\n";
Buraya /usr/bin/perlgerçekte perl yorumlayıcı ikilisidir. Komut dosyanızı çalıştırmadan önce, komut dosyası dosyasının modunu değiştirdiğinizden ve yürütme ayrıcalığı verdiğinizden emin olun, genellikle 0755 ayarı mükemmel çalışır ve son olarak yukarıdaki komut dosyasını aşağıdaki gibi çalıştırırsınız -
$chmod 0755 hello.pl
$./hello.pl
Bu yürütme aşağıdaki sonucu verecektir -
Hello, world
Parantezleri fonksiyon argümanları için kullanabilir veya kişisel zevkinize göre atlayabilirsiniz. Öncelik konularını açıklığa kavuşturmak için yalnızca ara sıra istenir. Aşağıdaki iki ifade aynı sonucu verir.
print("Hello, world\n");
print "Hello, world\n";
Perl Dosya Uzantısı
Herhangi bir normal basit metin düzenleme programının içinde bir Perl betiği oluşturulabilir. Her tür platform için kullanılabilen çeşitli programlar vardır. Web'den indirilebilecek programcılar için tasarlanmış birçok program vardır.
Bir Perl kuralı olarak, bir Perl dosyasının işleyen bir Perl betiği olarak tanınması için bir .pl veya .PL dosya uzantısıyla kaydedilmesi gerekir. Dosya adları sayılar, semboller ve harfler içerebilir ancak boşluk içermemelidir. Boşluk yerlerinde alt çizgi (_) kullanın.
Perl'deki Yorumlar
Herhangi bir programlama dilindeki yorumlar geliştiricilerin arkadaşlarıdır. Yorumlar, programı kullanıcı dostu hale getirmek için kullanılabilir ve yorumlayıcı tarafından kod işlevselliğini etkilemeden basitçe atlanır. Örneğin, yukarıdaki programda hash ile başlayan bir satır# bir yorumdur.
Basitçe Perl'deki yorumların bir hash sembolüyle başladığını ve satırın sonuna kadar koştuğunu söylemek -
# This is a comment in perl
= İle başlayan satırlar, gömülü dokümantasyonun (pod) bir bölümünün başlangıcı olarak yorumlanır ve sonraki = cut'a kadar sonraki tüm satırlar derleyici tarafından yok sayılır. Örnek aşağıdadır -
#!/usr/bin/perl
# This is a single line comment
print "Hello, world\n";
=begin comment
This is all part of multiline comment.
You can use as many lines as you like
These comments will be ignored by the
compiler until the next =cut is encountered.
=cut
Bu, aşağıdaki sonucu verecektir -
Hello, world
Perl'deki beyaz boşluklar
Perl programı boşlukları önemsemez. Aşağıdaki program mükemmel çalışıyor -
#!/usr/bin/perl
print "Hello, world\n";
Ancak, alıntılanan dizelerin içinde boşluklar varsa, oldukları gibi yazdırılırlar. Örneğin -
#!/usr/bin/perl
# This would print with a line break in the middle
print "Hello
world\n";
Bu, aşağıdaki sonucu verecektir -
Hello
world
Boşluklar, sekmeler, satırsonları vb. Gibi tüm beyaz boşluk türleri, tırnak işaretleri dışında kullanıldıklarında yorumlayıcı için eşdeğerdir. Yalnızca beyaz boşluk içeren ve muhtemelen yorum içeren bir satır boş satır olarak bilinir ve Perl bunu tamamen yok sayar.
Perl'de Tekli ve Çiftli Alıntılar
Değişmez dizelerin etrafında çift tırnak veya tek tırnak işaretleri aşağıdaki gibi kullanabilirsiniz -
#!/usr/bin/perl
print "Hello, world\n";
print 'Hello, world\n';
Bu, aşağıdaki sonucu verecektir -
Hello, world
Hello, world\n$
Tekli ve çiftli alıntılarda önemli bir fark vardır. Yalnızca çift tırnakinterpolatedeğişkenler ve satırsonu gibi özel karakterler \ n, tek tırnak ise herhangi bir değişken veya özel karakteri enterpolasyon yapmaz. Bir değeri saklamak için değişken olarak $ a kullandığımız ve daha sonra bu değeri yazdırdığımız aşağıdaki örneği kontrol edin -
#!/usr/bin/perl
$a = 10;
print "Value of a = $a\n";
print 'Value of a = $a\n';
Bu, aşağıdaki sonucu verecektir -
Value of a = 10
Value of a = $a\n$
"Burada" Belgeler
Çok satırlı metni büyük bir rahatlıkla saklayabilir veya yazdırabilirsiniz. "Buradaki" belgenin içindeki değişkenleri bile kullanabilirsiniz. Aşağıda basit bir sözdizimi verilmiştir, << ile tanımlayıcı arasında boşluk olmamasına dikkat edin.
Bir tanımlayıcı, çıplak bir kelime veya aşağıda EOF kullandığımız gibi alıntılanmış bir metin olabilir. Tanımlayıcı alıntı yapılmışsa, kullandığınız alıntı türü, tıpkı normal alıntılarda olduğu gibi, buradaki docoment içindeki metnin işlenmesini belirler. Tırnaksız bir tanımlayıcı, çift tırnak gibi çalışır.
#!/usr/bin/perl
$a = 10;
$var = <<"EOF";
This is the syntax for here document and it will continue
until it encounters a EOF in the first line.
This is case of double quote so variable value will be
interpolated. For example value of a = $a
EOF
print "$var\n";
$var = <<'EOF';
This is case of single quote so variable value will be
interpolated. For example value of a = $a
EOF
print "$var\n";
Bu, aşağıdaki sonucu verecektir -
This is the syntax for here document and it will continue
until it encounters a EOF in the first line.
This is case of double quote so variable value will be
interpolated. For example value of a = 10
This is case of single quote so variable value will be
interpolated. For example value of a = $a
Kaçan Karakterler
Perl, kodumuza müdahale edebilecek her türlü karakterden kaçınmak için ters eğik çizgi (\) karakterini kullanır. Çift tırnak ve $ işareti yazdırmak istediğimiz bir örnek alalım -
#!/usr/bin/perl
$result = "This is \"number\"";
print "$result\n";
print "\$result\n";
Bu, aşağıdaki sonucu verecektir -
This is "number"
$result
Perl Tanımlayıcıları
Perl tanımlayıcı, bir değişkeni, işlevi, sınıfı, modülü veya başka bir nesneyi tanımlamak için kullanılan bir addır. Bir Perl değişkeni adı $, @ veya% ile başlar ve ardından sıfır veya daha fazla harf, alt çizgi ve rakam (0-9) gelir.
Perl, tanımlayıcılar içinde @, $ ve% gibi noktalama karakterlerine izin vermez. Perl bircase sensitiveProgramlama dili. Böylece$Manpower ve $manpower Perl'de iki farklı tanımlayıcıdır.