Koşul ve Kontrol Deyimleri -- Dallanma ve Yönlendirme
 
1. if Deyimi :
 
               if ($sayı) {
 
                              print ("Sayı sıfır değil..\n");
 
                }
               
Yukarda bir if deyimli perl program parçası görüyorsunuz. if deyimi yanında () parentez içersindeki
değer veya değişken sınanır.Parantezler arası bu kısım şart ifadesidir (Örneğimizde ($sayı).
Bu ifadenin içerdiği sonuç doğru ise oklu parentezler (Blokbaşı ve sonunu ifade eder ki kullanılması
şarttır) içerisindeki kısım blok olarak icra edilir. Sonuç yanlış ise Blok dışına geçilir. Sonucun
doğru(true)olması demek parentez içi değerin 0 olmaması demektir. Değer 0 ise sonuçyanlıştır (false).
 
Örnek Program : Program adı ifprg.pl olsun
 
#!/usr/local/bin/perl
print ("Bir sayı giriniz:\n");
$sayi = <STDIN>;  #Program calıştığında burada 7 girelim
chop ($sayi);
if ($sayi) {
          print ("Girilen sayı sıfır değil.\n");
  }
print ("Program sonu...\n");
 
Çalışması:
 
>ifprg
>Bir sayı giriniz:
>7
>Girilen sayı sıfır değil.
>Program sonu...
>   
 
if deyiminin koşul ifadesi kısmında karşılaştırmalarda yapılır.
 
Örnek :
if ($sayi == 5)
{
....
}
Yukarıdaki ifadede $sayı değişkenindeki değerin 5'e eşit olup olmadığı sınanmaktadır. == göstergesi eşitlik anlamındadır. Buna
benzer şekilde büyük ve küçüklük sınamaları da yapılır. 
 
Ör :  if ( $sayi > 5 ) ..
 
Bu kullanımda sınama sonucu ne ise ona göre işlem yapılır.
 
Örneğin, sonuç doğru ise oklu parantez içindeki blok icra edilir. Aksi takdirde doğrudan blok dışına atlanır.
 
Örnek program : Program adı ifprg2.pl olsun,
 
#!/usr/local/bin/perl
print ("Sayı gir:\n");
$sayi1 = <STDIN>;
chop ($sayi );
print ("Başka bir sayı gir:\n");
$sayi2 = <STDIN>;
chop ($sayi2);
if ($sayi1 == $sayi2) {
         print ("Girilen iki sayı eşit.\n");
        }
print ("Program sonu.\n");
 
Çalışması :
 
>ifprg2
>Sayı gir:
>17
>Başka bir sayı gir:
>17
>Girilen iki sayı eşit.
>Program sonu.
>
 
 
IF ve ELSE kullanarak dallanma:
 
Genel format :  if (koşul)
                    {
                                  Koşul doğruysa icra edilen kısım;
                                  }
              else
                               {
                 Koşul yanlışsa icra edilen kısım;
                               }
 
 
Örnek program : program adı ifprg3.pl olsun
 
#!/usr/local/bin/perl
print ("Bir sayı giriniz:\n");
$sayi1 = <STDIN>;
chop ($sayi1);
print ("Baska bir sayı giriniz:\n");
$sayi2 = <STDIN>;
chop ($sayi2);
if ($sayi1 == $sayi2) 
    {
    print ("Iki sayı eşittir.\n");
    } 
else
    {
    print ("Iki sayı eşit değildir.\n");
    }
print ("Program sonu.\n");
 
Çalışması ;
 
>ifprg3
>Bir sayı giriniz:
>17
>Baska bir sayı giriniz:
>18
>Iki sayı eşit değildir.
>Program sonu.
>
 
ÇOKLU DALLANMA if-elsif-else kullanımı:
 
Genel Formatı :
 
if (koşul1)
         {
          koşul1 dogru ise icra edilir
         } 
elsif (koşul2)
          {
          koşul2 dogru ise icra edilir
          } 
elsif (koşul3)
         {
         koşul3 dogru ise icra edilir
    ...
         }
 else
        {
         Hiçbir koşul doğu değil ise icra edilir
         }
 
 
Örnek program: Program adı ifprg4.pl olsun
 
#!/usr/local/bin/perl
print ("Bir sayı giriniz:\n");
$sayi1 = <STDIN>;
chop ($sayi1);
print ("Baska bir sayı giriniz:\n");
$sayi2 = <STDIN>;
chop ($sayi2);
if ($sayi1 == $sayi2) {
    print ("Sayılar eşit.\n");
 } elsif ($sayi1 == $sayi2 + 1) {
    print ("Birinci sayi 1 buyuk.\n");
 } elsif ($sayi1 + 1 == $sayi2) {
    print ("Ikinci sayi 1 buyuk.\n");
 } else {
    print ("Sayilar eşit değil.\n");
 }
print ("Program sonu.\n");
 
 
Çalışması:
 
>ifprg4
>Bir sayı giriniz:
>17
>Baska bir sayı giriniz:
>18
>Ikinci sayi 1 buyuk.
>Program sonu.
>
 
NOT : Bu konunun devamını 9.Derste göreceğiz.