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.