Forumana.com, Forum, Forum Sitesi, Forumlar

Forum KayıtForum Kayıt ForumForum OyunlarOyunlar MesajlarMesajlar GruplarGruplar Üye GruplarıYönetim RadyoFM DinleRadyoFM TwitterTwitter FacebookFacebook İletişimİletişim
 


Forum Forumlar Forum Sitesi Forum Grup Forum Albüm Forumları Okudum
Go Back   Forumana.Com - Forum, Forumlar, Forum Sitesi Web Tasarım Programlama Dilleri Diğer Diller

Perl Sabit ve Değişkenler

 Diğer Diller forumunda yer alan Perl Sabit ve Değişkenler konusu, Perl Sabit ve Değişkenler Perl Sabit ve Değişkenler 1.Sabitler A)Sayısal Sabitler: Sayısal sabitlerprogramın çalışması esnasında gereken sayısal sabit değerlerdir. Perl 8 ve 16 tabanlı sayısal değerlerin kullanımını da sağlar. 1245 ...



Yeni Konu aç Cevapla
 
Seçenekler Stil
Alt 27-Şubat-2014, 03:18   #1 (permalink)
Fox
UYARI:
Kullanıcıların Profil Bilgileri Misafirlere Kapatılmıştır. Görmek için KAYIT olmalısınız.~
Doğru Bilgi Perl Sabit ve Değişkenler

Perl Sabit ve Değişkenler

1.Sabitler



A)Sayısal Sabitler:



Sayısal sabitlerprogramın çalışması esnasında gereken sayısal sabit değerlerdir. Perl 8 ve 16 tabanlı

sayısal değerlerin kullanımını da sağlar.

1245

100.45

.000034

043

0x23 ...gibi





B)String Sabitler:



String sabitlerprogramın çalışması esnasında gereken alfasayısal sabit değerlerdir. Alfabetik ve

Alfabetik/sayısal/özelkarakter karışımı olabilirler. Tırnak içindeki ifadelerdir.

Perl stringlerde; Tek çift geri tırnak kullanır. Bunlar birlikte de kullanılabilirler.

Kurallarını göreceğiz.



Örnek:

'Ertan Türkmen'

"Ertan Türkmen"

"Dedi ki \"O Ankara'dan geldi.\""

'Ahmet Trabzon\'ludur'

...gibi



stringlerde EscapeSequence denilen özel işlevli karakterlerde kullanılır.



Escape SequeNCe karakterlerinden bazıları ve anlamları:



\a Alarm

\b Backspace -geri-

\e Escape -çıkış-

\f Form Feed -form besleme -

\n Newline -yeni satır-

\r Carriage return -satır sonu-

\t Tab - x karakter atla -

\v Vertical Tab - dikey atla -



ilerleyen derslerde konuyla ilgili örnekler görecek ve daha iyi anlayacağız.



2.Değişkenler



a)Skalar değişkenler : İçersinde değişebilen değerler bulunduran birimlerdir. İlk karakteri $ işaretidir.Bu karakterden sonra en az 1

alfabetik karakter bulunmalıdır. Değişken adında kural olarak bu karakterlerden hemen sonra alfabetik sayısal karakterler ve _

karakteri kullanılabilir. Değişken uzunluğu serbesttir.



Örneğin;



$ad $ad_soyad $a1 gibi değişken adlari geçerli olup aşağıdakiler geçersizdir.





ad # $ karakteri olmadığından

$ # $ dan sonra en az 1 alfabetik karakter gerektiğinden

$47x # 2.karakter sayısal olamaz

$_ad # 2.karakter alfabetik olmalı

$ad! # ! karakteri kullanılamaz



Not : Küçük ve büyük harf kullanımı önemlidir ve farklı değişkenleri temsil ederler. Bu demektir ki; $AD ile $Ad ve $ad farklı

değişkenlerdir.



Değişkenlere değer atama:

Eşitliğin bize göre sağındaki değer (sayısal/alfabetik/karışık olabilir) solundaki değişkenin içine konur. Aşağıdaki ifadeyi inceleyiniz.



$ADI_SOYADI = "Ertan TURKMEN";

$ADI_SOYADI değişkeni içindeki değer "Ertan TURKMEN" dir.

benzer şekilde

$MAAS = 125000;

$MAAS değişkeni içeriği 125000 dir.



Not : Değişkenin içinde önceden bir değer varsaönceki değer silinir son atanan değer geçerli olur.



Aritmetik Operatörler:



Perl de kullanılan TEMEL aritmetik operatörler;

Toplama +

Çıkartma -

Çarpma *

Bölme / dir.



Örnek program : Verilen değerin Km ve Mil cinsinden çevirimini yapar.

Adı milkm.pl olsun.



#!/usr/local/bin/perl

print ("Mesafeyi giriniz: \n");

$mesafe = <STDIN>;

chop ($mesafe);



# chop fonksiyonu giriş sonundaki karakteri atar

# programımızda son karakter Enter tuşuna bastığımız için

# yeni satır (\n) karakteri

# olduğundan onu atar(siler).



$mil = $mesafe * 0.6214;

$km = $mesafe * 1.609;

print ($mesafe " km = " $mil " mil\n");

print ($mesafe " mil = " $km " km\n");



Not : Program satırlarında kullanılan "\n" göstergesi alt satıra geçişi sağlayan yeni satır karakteridir.



Çalışması:

>milkm

>Mesafeyi giriniz:

>10

>10 km = 6.2139999999999995 mil

>10 mil = 16.09 km

>





a.1)Tamsayi (integer) Skalar değişkenler:



İçerisinde tamsayı sabit ve literal bulundurabilirler. integerlar kayar noktalı (floating-point--birazdan inceleyeceğiz--)değerler gibi

işlem görürler.



Örnek program: adı prg.pl olsun...



#!/usr/local/bin/perl

$deger = 1234567890;

print ("1.değer: " $deger "\n");

$deger = 1234567890123456;

print ("2.değer: " $deger "\n");

$deger = 12345678901234567890;

print ("3.değer: " $deger "\n");



Çalışması :

> prg

>1.değer: 1234567890

>2.değer: 1234567890123456

>3.değer: 12345678901234567168



çıktısı verir. Görüldüğü gibi ilk 2 değerde sorun yoktur.3.değer yanlış sonuç üretir. Çünkü tamsayı için fazla değer içermektedir.



a.1)Kayar Noktalı (floating-point) Skalar değişkenler:



En fazla 16 rakam kabul edebilirler. Bu değişkenler tamsayı ondalıklı exponent(e üzeri) ve -/+ işaretli değerleri saklayabilirler.



Örneğin aşağıdaki değerlerle işlem yapabilirler.



11.4 -275 -0.3 .3 3. 5.47e+03 ...v.b.



Örnek program : Adı prgsk1.pl olsun



#!/usr/local/bin/perl

$deger = 34.0;

print ("1. deger " $deger "\n");

$deger = 114.6e-01;

print ("2. deger " $deger "\n");

$deger = 178.263e+19;

print ("3. deger " $deger "\n");

$deger = 123456789000000000000000000000;

print ("4. deger " $deger "\n");

$deger = 1.23e+999;

print ("5. deger " $deger "\n");

$deger = 1.23e-999;

print ("6. deger " $deger "\n");





Programın Çalışması :

> prgsk1.pl

> 1. deger 34

> 2. deger 11.460000000000001

> 3. deger 1.7826300000000001e+21

> 4. deger 1.2345678899999999e+29

> 5. deger Infinity

> 6. deger 0

>



b)String değişkenler:



String (karakter/karakterler içeren dizi) içerirler. Bu değerler alfabetik ve sayısal sabit veya değişken olabilirler.



Ör1: $AD_SOYAD = "Ertan TURKMEN";

komutuyla "Ertan TURKMEN" stringi $AD_SOYAD string değişkenine atanır.



Ör2: $number = 11;

$text = "Bu text sayı içerir.İçerdiği sayı $number.";



komutlarının icrası sonucu $number'a 11 sayısı atanır. $text değişkenine ise "Bu text sayı içerir. İçerdiği sayı $number." Stringi atanır.

Sonuçta $text'in içeriği şudur.



"Bu text sayı içerir.İçerdiği sayı 11."



Stringlerde de Escape Sequence karakterler kullanılır.



Bunlar aşağıdadır :



\a Zil sesi

\b Backspace

\cn Ctrl+n karakteri

\e Escape

\E \L \U or \Q etkisini sonlandır

\f Form feed

\l Sonraki harfi küçüğe çevirir

\L Sonraki tüm harfleri küçüğe çevirir

\n newline - Yeni Satır

\r Carriage return

\Q Özel örnek karakterleri arama

\t Tab

\u Sonraki harfi büyüğe çevir

\U Sonraki tüm harfleri büyüğe çevir

\v vertical tab





Tek ve Çift tırnaklı string farkı:

Bunu örnekle inceleyelim.



Ör1:

$string = "Bir stringdir";

$text = "Bu $string";

# $text'in içeriği "Bu Bir stringdir"



Ör2:

$text = 'Bu bir $string';

#$text'in içeriği 'Bu bir $string'



İki örnek arasında fark açıkça görülmektedir. Tek tırnak içindeki string aynen saklanır. Değişken ve hatta \n gibi karakterlerde kendi

özelliklerini icra eder şekilde kullanılamaz. (sadece \ ve ' karakterleri hariç)



Ör3:

$text = 'Bu string.\n';

$text içeriği:

Bu string .\n şeklindedir.



Ör4:

$text = 'Burada \' tek tırnak karakteri var';

$text içeriği: Burada ' tek tırnak karakteri var



Ör5:

$text = 'Stringin son karakteri backslash \\';

$text içeriği:

Stringin son karakteri backslash \ şeklindedir.





String ve Sayısal değerlerde değiştirilebilirlik:



Örnekle inceleyelim.

$string = "43";

$Sayı = 28;

$result = $string + $Sayı;

$result içeriği 71 dir.



Bir de şu örneği inceleyelim:

$number = <STDIN>; #klavyeden giriş bekler 22 girdik diyelim

# $number içeriği 22\n dir (\n enter tusu)

chop ($number); # $number içeriği su anda 22

$result = $number + 1; #$result içeriği 23



Şöyle bir atama sonucunda ise :

$result = "hello" * 5;

$result içeriği 0 dır.

çünkü hello sayısal olmadığı için sayısal değeri 0 dır



Eğer string ifadede sayısal ve alfabetik değer varsa $result = "12o34"; gibi.. Bu durumda ortadaki o

harfi öncesi geçerlidir. $result içeriği 12’dir.



ALTERNATİF STRİNG AYRAÇLARI



Aşağıdaki örneğe bakalım;



$say = 5;

print ("$say\n"); # 5 basar

print ('$say\n'); # $var\n basar



örnekte ' ve " ayraçlarını görüyoruz. Perl başka ayraç elemanları da sunar.

Bu işlev için q kullanıp sonraki ayraç elemanını belirleyebiliriz.



q!merhaba $kim! gibi...

bu ifade ile aşağıdaki ifade aynıdır.

'merhaba $kim'



String sınırlayıcı olarak qq kullanırız.



qq/This string contains $var./



Burada / karakteri stringi ayırır(sınırlar).



Stringi kelimelere ayırma-kesme- işlevini qw ile yaparız.



Aşağıdaki iki satır aynıdır.



@kelimeler = qw/Bu bir cümledir/;

@kelimeler = split(' ' q/Bu bir cümledir/);



her iki durumda da @kelimeler ' e şu liste atanır;



("Bu " " bir " " cümledir")



<< KULLANARAK STRİNG TANIMLAMA



<< işareti ile string başı tanımlanır. Bu string boş satır görene kadar devam eder.



Örnek:



$A = <<

here is the string

bu ikinci satır } $A içeriği yandaki ilk iki satırdır.



üçüncü satır

dördüncü satır

<< sonra konacak string string sonunu belirler.



Örnek:



$str = <<END (veya şu şekilde <<'END' )

bu birinci satır

bu ikinci satır

END (string sonu)





Şu da doğrudur.



$end = "END";

$str = <<"$end"

bu ilk satır

bu ikinci satır

END



Şu kullanıma bakın;





print <<END

Merhaba!

Iyi calışmalar!

END

çıktısı

Merhaba!

Iyi calışmalar!







print <<END x 2

Merhaba!

END

Çıktısı

Merhaba!

Merhaba!







$satır = <<END1 <<END2

birinci kısım

END1

ikinci kısım

END2

$satır içeriği:

Birinci kısım

İkinci kısım



Not: \n dahildir.

Not2: << aralarında boşluk olmamalıdır.





» Perl Sabit ve Değişkenler - www.forumana.com

  Alıntı ile Cevapla
Yeni Konu aç Cevapla

Yukarıdaki Konuyu Aşağıdaki Sosyal Ağlarda Paylaşabilirsiniz.

Etiketler
degiskenler, perl, sabit


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 00:40.

Forum Künyemiz
Uyarı

Powered by vBulletin® Version 3.8.4
Copyright ©2011 - 2019, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0
Açılış Tarihi : 05.12.2011
Kuruluş Tarihi : 20.11.2011
Hazırlayan & Tasarlayan : Forumana.com
 

Sosyal paylaşım platformu olan Forumana.com sitemizde, kullanıcılar 5651 sayılı kanunun ilgili maddesine ve TCK'nın 125. maddesine göre yaptıkları paylaşımlardan sorumludur, kullanıcı kaynaklı herhangi bir durumdan Forumana.com sitesi sorumlu değildir. Tüm hukuksal bildirimleriniz/sorunlarınız/istekleriniz ve şikayetleriniz için İletişim panelinden bizlere ulaşabilirsiniz, Forumana.com yönetimi en geç "3" iş günü içerisinde dönüş yapacaktır. Platformumuz; kişilik ve telif hakları korunumu, illegal paylaşım ve korsanla mücadele konusunda yetkililere yardımcı olmayı ilke edinmiştir.

Forum, Forumlar, Forum Sitesi, Etiket, Sitemap, Arşiv