Recent Changes - Search:

edit SideBar


Firefox 2
Get Thunderbird!

ArraysListsHahes

Perl.ArraysListsHahes History

Hide minor edits - Show changes to markup

July 13, 2005, at 11:12 PM by �zg�n
Added line 1:

(:source lang=perl:) [=

Changed lines 199-200 from:

print "a b: ", $ref->{'a b'} , "\n";

to:

print "a b: ", $ref->{'a b'} , "\n"; =]

July 13, 2005, at 11:08 PM by �zg�n
Added lines 1-198:
  1. !/usr/bin/perl
  2. Diziler, listeler ve hash'ler.

use strict; use warnings;

my (@d1, @d2, @d3); my ($x, $y, $z);

  1. Dizi oluşturma.

@d1 = ("a", "b"); print "d1: @d1\n";

  1. qw

@d2 = qw(c d); print "d2: @d2\n";

  1. range operat�r� (..)

@d3 = (1 .. 10); print "d3: @d3\n";

  1. Dizideki toplam eleman sayısı

print "d3 dizisinin eleman sayisi: " . scalar(@d3) . "\n";

  1. Dizideki son elemanın indexi.

print "d3 dizisindeki son elemanin indexi: ". $#d3 . "\n";

  1. Diziyi resetlemek i�in:

@d1 = (); print "d1 dizisi sıfırlandı: " , "@d1\n";

  1. Dizinin elemanlarına tersten erişim:

print "d3 dizisinin son elemanı: ", $d3[-1] . "\n"; # Dizideki son eleman. print "d3 dizisinin sondan 2. elemanı: " , $d3[-2] . "\n"; # Dizideki son eleman.

  1. Bir listedeki elemanların değişkenlere atanması.

($x, $y, $z) = ("x", "y", 3); print "$x - $y - $z \n";

  1. Dizinin belirli indexlerine eleman atama.

@d3[2, 4, 6, 8] = qw(aa bb cc dd); print "d3 dizisi: @d3\n";

  1. Listelerde atama.

($x, @d1, $y) = ( 42 .. 52); # $y'ye değer atanmaz!!!! print "x : $x \n"; print "d1 : @d1 \n"; print "y : $y \n";

  1. push ile dizinin sonuna eleman ekleme:

push(@d1, "99"); print "d1'e push ile 99 eklendi: @d1 \n";

  1. pop ile dizinin sonundan eleman �ıkarma.

my $cikarildi = pop(@d1); print "d1'den pop ile son eleman �ıkarıldı: @d1 \n"; print "�ıkarılan eleman: $cikarildi\n";

  1. shift ile 1. elemanın silinmesi)

my $silindi = shift(@d1); print "d1 : @d1 \n"; print "d1'in boyutu " . scalar(@d1) . "\n"; print "Silinen eleman: $silindi\n";

  1. unshift ile dizinin başına eleman ekleme.

unshift(@d1, "11"); print "d1 : @d1 \n";

  1. splice(@dizi, baslangic indisi, uzunluk, eklenecek liste)

my @cikarilanlar = splice(@d1, 3, 2, (999, 999)); print "d1 : @d1 \n"; print "d1'de yerleri değiştirilen elemanlar: @cikarilanlar\n";

  1. splice ile dizinin belirli indislerinin �ıkarılması.

@cikarilanlar = splice(@d1, 3, 2); print "d1'den 3. ve 4. indislerin �ıkarılması : @d1 \n"; print "d1'in boyutu: " , (scalar(@d1)) , "\n";

  1. splice ile dizideki elemanların bir indisten sonrasının �ıkarılması

@cikarilanlar = splice(@d1, 5); print "d1'den 5. indisten sonrasının �ıkarılması (5. indis de �ıkarılır): @d1 \n"; print "d1'in boyutu: " , (scalar(@d1)) , "\n";

  1. splice ile dizideki t�m elemanların silinmesi:

@cikarilanlar = splice(@d1); print "d1 dizisindeki elemanlar splice ile �ıkarıldı: @d1\n"; print "d1'in boyutu: " , (scalar(@d1)) , "\n";

  1. reverse ile dizideki elemanların ters �evrilmesi.

my @tersten = reverse(@d3); print "d3 dizisi: @d3\n"; print "d3 dizisinin reverse ile tersten yazılması: @tersten\n";

  1. sort ile dizinin sıralanması(lexically, ASCII karatke tablosuna g�re)

my @sirali = sort(@d3); print "d3 dizisinin sort ile sıralanması: @sirali\n";

  1. sort ve <=> ile numerik sıralama

my @numerik_sirali = sort { $a <=> $b } @d3; print "d3 dizisinin sort ile numerik sıralanması: @numerik_sirali\n";

  1. cmp ile lexically karşılaştırma.
  2. ???

  3. Dizideki elemanların dong� ile yazdırılamsı.

print "for ile d3 dizisinin yazdırılamsı: "; for ($x = 0; $x < @d3; $x++) { # Burdaki @d3 yerine scalar(@d3) de yazılabilir.

	print $d3[$x] , "-";

} print "\n";

  1. % ile hash oluşturulması.

my %h1 = ( isim => 'Sopar', tur => 'Siyam');

  1. keys ile hash'in key'lerinin listelenmesi

print "h1'in keyleri: "; foreach (keys(%h1)) {

	print $_ , " - ";

} print "\n";

  1. values ile hash'in value'lerinin listelenmesi.

print "h1'in vaule'ları: "; foreach (values(%h1)) {

	print $_ . " - ";

} print "\n";

  1. hash'in belli bir key'ine erişim.

print "tur: ", $h1{'tur'}, "\n";

  1. hash'in belli bir key'ine değer atanması:

$h1{'tur'} = "Tekir"; print "tur: " . $h1{'tur'}, "\n";

  1. each ile key-value �iftlerine erişim

print "each ile key-value �iftlerine erişim \n"; while ( (my $key, my $value) = each(%h1) ) {

	print "$key : $value \n";

}

  1. hast'te reverse ile key ve values'ların yer değiştirlimesi.

print "reverse ile key ve value'ların yer değiştirmesi\n"; my h1); while ( (my $key, my $value) = each(%reversed) ) {

	print "$key : $value \n";

}

  1. delete ile hash'ten eleman �ıkarılması.

delete($h1{'tur'});

  1. exist ile bir key'in hash'te olup olmadığının kontrol edilmesi.

if (exists($h1{'isim'}) ){

	print "isim key'i h1'de var. \n";

}

  1. undef ile belli bir key'e değer atanım atanmadığını bulunması.

undef($h1{'isim'}); if (defined($h1{'isim'}) ) {

	print "isim key'ine değer atanmış. \n";

} else {

	print "isim key'inin degeri yok.\n";

}

  1. Bir dizideki elemanların hash'e key olarak atkarılması.

my @opinions = qw(my opinion); my %h2; foreach (@opinions) {

	$h2{$_} = "";

} print "h2 keys: ", keys(%h2) , "\n"; print "h2 values : ", values(%h2) , "\n";

  1. hash'in value'larına g�re numerik sıralanması(b�y�kten k���ğe)

print "h2'nin b�y�kten k���ğe sıralanması: "; $h2{'my'} = 99; $h2{'opinion'} = 44; foreach ( sort{ $h2{$b} <=> $h2{$a} } keys(%h2) ) {

	print $_ , ":", $h2{$_} ," ";

} print "\n";

  1. hash'in value'larına g�re numerik sıralanması(k���kten b�y�ğe)

print "h2'nin k���kten b�y�ğe sıralanması: "; $h2{'my'} = 99; $h2{'opinion'} = 44; foreach ( sort{ $h2{$a} <=> $h2{$b} } keys(%h2) ) {

	print $_ , ":", $h2{$_} ," ";

} print "\n";

  1. hash referansının scalar değişkene atanması

my $ref = {bir=>"1", iki=>"iki", 'uc'=>"3", 'a b'=>'cd'}; print "bir: ", $ref->{'bir'} , "\n"; print "uc: ", $ref->{'uc'} , "\n"; print "a b: ", $ref->{'a b'} , "\n";

Edit - History - Print - Recent Changes - Search
Page last modified on July 13, 2005, at 11:12 PM