|
Perl 2 3 4
DEĞİŞKENLER
Scaler (Altsırasız) Değişkenler
Perl 'de değişken tanımlamaları $ simgesi ile başlar. Mesela; x
değerini değişken olarak tanımlamak için şu ifadeyi kullanırız;
$x
Değişkenlere değer atama işlemi yapılırkende , (=) işareti
kullanılır...
$x=Net1 veya $x="KardeşiM oNLine"
Değişkenlerin değerlerinide şöyle değiştirebiliriz;
$x=Net1 değerini 15 ekleyerek değiştirelim...:
$x=$x + 15
Değişkenlere atamalar yapılırkende; string bir ifade atanmış olan
bir değişkene sayısal bir değer eklemek yalnış olur. Bu yüzden değişken
hangi tipde bir değeri tutuyorsa; ancak o tipde bir ifade ile değerini
değiştirebiliriz.
ARRAYLAR (Dizinli Değişkenler)
Dizinli değişkenler @ işareti ile tanımlanırlar. Bunlar alt sıralı
değişkenlerdir. Değerlerin listesini tutarlar. Dizin sayısını belirtirken
() işareti içerisine altsıranın adeti yazılmalıdır.
ÖRNEK 1:
@emptyArray = (); @numberArray = (12, 014, 0x0c, 34.34,
23.3E-3); @stringArray = ("This", "is", 'an', "array", 'of',
"strings"); @mixedArray = ("This", 30, "is", 'a', "mixed array", 'of',
0x08, "items");
print "Here is an empty array:" . @emptyArray . "<- Nothing
there!\n"; print @numberArray; print "\n"; print @stringArray; print
"\n"; print @mixedArray; print "\n";
Sonuç:
Here is an empty array:0<- Nothing
there! 12121234.340.0233 Thisisanarrayofstrings This30isamixed
arrayof8items
Dizin elemanlarını tek tek kullanmak için $ işareti
kullanılır.
Örnek 2: 5 elemanlı bir dizi yarat. Diziyi yazdır. Dizinin her
elemanını yazdır.
@array = (1..5); print @array; print "\n"; print
$array[0]; print "\n"; print $array[1]; print "\n"; print
$array[2]; print "\n"; print $array[3]; print "\n"; print
$array[4]; print "\n";
Sonuç:
12345 1 2 3 4 5
Örnek 3: Dizinin $index değişkeniyle belirtilen elemanını
yazdır.
$index = 2 @array = (1..5); print $array[$index]; print
"\n";
Sonuç: 3
Negatif Indis
Kullanımı
Negatif indis kullanmak dizi elemanlarına tersden erişim olanağı
sağlar.
Örnek 1 : 5 elemanlı bir dizi yarat. Diziyi yazdır. Dizinin
elemanlarını ters sırada yazdır.
@array = (1..5); print @array; print "\n"; print
$array[-1]; print "\n"; print $array[-2]; print "\n"; print
$array[-3]; print "\n"; print $array[-4]; print "\n"; print
$array[-5]; print "\n";
Ekran Çıktısı :
12345 5 4 3 2 1
Dizinin eleman sayısının
belirlenmesi
Dizinin eleman sayısını belirlemek için, dizi altsırasız değişkene
atanır.
Örnek: 5 elemanlı bir dizin oluşturun. Dizinin boyutunu
$numberOfElements değişkenine saklayın. Dizi boyutunun 2 ile çarpımını
$doubleTheSize değişkenine saklayın. Değişkenleri yazdırın.
@array = (1..5); $numberOfElements = @array; $doubleTheSize =
2 * @array; print "The number of array elements is: " .
$numberOfElements . "\n"; print "Double the number of array elements
is: " . $doubleTheSize . "\n";
Sonuç:
The number of array elements is: 5 Double the number of array
elements is: 10
Dizinin bir elemanının elde
edilmesi
Dizi için ( @ ) simgesi kullanılır. Dizinin herbir parçasını elde
etmek için ( [ ] ) simgesi kullanılır.
Örnek: 4 elemanlı bir dizin yaratıp @array dizinine atayın. Dizinin
1. ve 3. elemanlarını $first ve $third değişkenlerine atayın. Dizinin
diğer yarısını @half dizinine atayın. @array, $first, $third ve @half
değişkenlerini yazdırın. @array dizininin 1. ve 3. elemanının yerini
değiştir. @array dizinini yazdırın.
@array = ("One", "Two", "Three", "Four"); ($first, $third) =
@array[0, 2]; @half = @array[2,
3]; print("\@array=@array\n"); print("\$first=$first
\$third=$third\n"); print("\@half=@half\n"); @array[0, 3] =
@array[3, 0]; print("\@array=@array\n");
Sonuç:
@array=One Two Three
Four $first=One $third=Three @half=Three Four @array=Four Two
Three One
Birleşik Dizi Değişkenleri
Birleşik diziler ( % ) simgesi ile belirtilir. Birleşik dizilerde
bir değere ait olan başka bir değerde dizide tutulu ve daha sonra bu
değerlerden bir tanesi verilerek diğeri istenebilir. Örnekde daha iyi
anlaşılıyor...
Örnek: 3 elemanlı birleşik dizi yarat. Her eleman 2 değer ( anahtar
ve birleşik değer) içersin. Birleşik diziye tek bir eleman
ekleyin.
%associativeArray = ("Serkan", "Dec 2", "Ali", "June 2",
"Süleyman", "Feb 13"); $associativeArray{"Hasan"} = "Mar 20"; print
"Serkan's birthday is: " . $associativeArray{"Serkan"} . "\n"; print
"Hasan's birthday is: " . $associativeArray{"Hasan"} . "\n";
Sonuç:
Serkan's birthday is: June 2 Hasan's birthday is: Mar
20
Değişken
Biçimleri
Bu konuda değişken değişik biçimlerde ekrana
yazdıracağız
Örnek 1: 5 elemanlı bir dizi yarat. Dizinin elemanlarını birer
boşlukla yazdırın.
@array = (1..5); print "@array";
Sonuç:
1 2 3 4 5
NOT : Burada array'in değerleri arasına birer boşluk karakterinin
konmamasını isterseniz;ikinci satırı şöyle
değiştirmelisiniz...:
print @array;
Örnek 2 : large değerini $word değişkenine atayın. $word
değişkenini "He was a larger fellow" string'i içinde kullanın.
$word = "large"; print "He was a $wordr fellow.";
Sonuç:
He was a fellow. Yukarıdaki örnekte Perl $wordr değişkenini
tanımadığı için "He was a fellow" string'i görüntüye gelir. Doğru string'i
elde etmek için aşağıdaki komut yazılmalıdır.
$word = "large"; print "He was a " . $word . "r
fellow.";
Yukarıdaki örnekte üç string birleştirici operetor ( . ) simgesi
kullanılarak elde edilmiştir.
Sonuç:
He was a larger fellow.
Benzer sonuç aşağıdaki şekilde yazılarak da elde
edilebilir.
Örnek 3 : $word = "large"; print "He was a ${word}r
fellow.";
Sonuç:
He was a larger fellow.
ÖZEL $" DEĞİŞKENİ
$" özel değişkenine atanan bir değer dizi elemanları arasına aynen
aktarılır.
Örnek 1 : $" özel karakterine virgül karakteri atayın. 5 elemanlı
bir dizi yaratın. Dizi elemanlarını aralarında virgül ile
yazdırın.
$" = ","; @array = (1..5); print "@array\n";
Sonuç:
1,2,3,4,5
Örnek 2 : $" özel karekterine virgül ve (:) atanırsa!
$" = ",:"; @array = (1..5); print "@array\n";
Sonuç:
1,:2,:3,:4,:5
İleri
|