Perl’de Dosya ve Dizin İşlemleri I

Yazan: Faruk Enes | Tarih 13 Ağustos 2001 | Yorum  1 Yorum
BerbatKötüOrtaGüzelHarika Henüz puan verilmemiş
Loading ... Loading ...

Bildiğiniz gibi dili, üretiliş amacı olarak bir okuma ve rapor etme dili. O zaman bu dilin, dosya arama, bulma, okuma, silme ve dahilinde dizin işlemlerinde çok ileri seviyeye ulaşmış olması düşünülmelidir. Ve netenekim de öyledir. dili dosya işlemlerinde, çok ileridir ve her zaman ki kolaylığı ile bize dosya işlemleri yapmamızı sunar.

’de bir dizindeki dosyaları okuma için, önce dizini ele almak gerekir. Bunun için ise opendir() fonksiyonu kullanılır. Opendir() fonksiyonun kullanım şekli opendir(DIZIN_TUTAMACI,”$dizin_yolu”) şeklindedir.

opendir(DIZIN,”$dizin_yolu”);

Bu dizinin okumak için açılmasını sağlar. Daha sonra dizindeki dosyalar okunmak için tek tek önümüze gelecektir. Ancak bunun için readdir() fonksiyonuna ihtiyacımız olacak. Readdir() fonksiyonu, opendir() ile açılan bir dizindeki dosyaları tek tek okuyarak adlarını bize geri gönderir. Readdir() fonksiyonun kullanım şekli, readdir(DIZIN_TUTAMACI) şeklindedir.

while($dosya = readdir(DIZIN))

Yukarıdaki örnekte, dizin okunurken dosya isimleri tek tek ele alınıyor ve $dosya değişkenine atanıyor. Daha sonra ise yapmak istediğimiz işlemleri yapabiliriz. Örneğin, okuduğumuz dosya isimlerini bir diziye atamak gibi.

push(@dosyalar,$dosya);

Ancak okunan bir dizinin tekrar kapatılmasını, açısından bir sorun yaratmasa’da memory ya da hatacısı tarafından sorun yaratabilir. Bu sebeple okunan bir dizinin fonksiyon sonunda kapatılması gerekir. Bunun için ’de closedir() fonksiyonu vardır. Kullanım şekli: closedir(DIZIN_TUTAMACI) şeklindedir.

closedir(DIZIN);

Peki, biz bir dizin yaratmak ya da silmek istersek durum nedir? Un*x kökenli bir dil olduğu için, dizin silme işlemleride windows’a göre biraz değişiktir. Örneğin ’de bir dizini silmek için rmdir() fonksiyonu kullanılır. Bu fonksiyon rmdir($dizin) şeklinde bir kullanıma sahiptir. Ancak bu fonksiyon eğer dizinin içinde dosya mevcut ise, hata gönderir.

rmdir(”$bos_dizin”);

Bunun için öncelikle bir dizindeki dosyaları silmek, daha sonra dizini silmek gereklidir.

Bir dizin yaratmak için ise, gene Un*x kökenli bir ada sahip olan mkdir() fonksiyonu kullanılır. mkdir() fonksiyonu mkdir(”$dizin_adi”) şeklinde bir kullanıma sahiptir.

mkdir(”$dizin_yolu/deneme”);

Tabii ki ’de dizin işlemleri ile ilgili bu kadarcık fonksiyon yok. Bunun yanında windows sistemlerede çalışmayan ancak un*x tabanlı sistemlerde çalışan “telldir()” gibi fonksiyonlarıda mevcut.

Gelecek ay, bu yazının devamı olarak dosya işlemlerini göreceğiz. O zamana kadar sevgi ile kalın…

Yazdır Yazdır | 302 Görüntülenme | Kategori: Diğer Diller | Trackback  Geri İzleme
Etiketler  Etiketler: ,

Benzer Yazılar


Yorum Yap


(gerekli)

(gerekli,yayınlanmaz)




XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>