Perl - Skaler
Skaler, tek bir veri birimidir. Bu veriler bir tamsayı, kayan nokta, bir karakter, bir dize, bir paragraf veya bir web sayfasının tamamı olabilir.
İşte skaler değişkenleri kullanmanın basit bir örneği -
#!/usr/bin/perl
$age = 25; # An integer assignment
$name = "John Paul"; # A string
$salary = 1445.50; # A floating point
print "Age = $age\n";
print "Name = $name\n";
print "Salary = $salary\n";
Bu, aşağıdaki sonucu verecektir -
Age = 25
Name = John Paul
Salary = 1445.5
Sayısal Skalerler
Skaler, genellikle bir sayı veya dizedir. Aşağıdaki örnek, çeşitli sayısal skaler türlerinin kullanımını göstermektedir -
#!/usr/bin/perl
$integer = 200;
$negative = -300;
$floating = 200.340;
$bigfloat = -1.2E-23;
# 377 octal, same as 255 decimal
$octal = 0377;
# FF hex, also 255 decimal
$hexa = 0xff;
print "integer = $integer\n";
print "negative = $negative\n";
print "floating = $floating\n";
print "bigfloat = $bigfloat\n";
print "octal = $octal\n";
print "hexa = $hexa\n";
Bu, aşağıdaki sonucu verecektir -
integer = 200
negative = -300
floating = 200.34
bigfloat = -1.2e-23
octal = 255
hexa = 255
Dize Skalerleri
Aşağıdaki örnek, çeşitli dizi skalerlerinin kullanımını göstermektedir. Tek tırnaklı dizeler ile çift tırnaklı dizeler arasındaki farka dikkat edin -
#!/usr/bin/perl
$var = "This is string scalar!";
$quote = 'I m inside single quote - $var';
$double = "This is inside single quote - $var";
$escape = "This example of escape -\tHello, World!";
print "var = $var\n";
print "quote = $quote\n";
print "double = $double\n";
print "escape = $escape\n";
Bu, aşağıdaki sonucu verecektir -
var = This is string scalar!
quote = I m inside single quote - $var
double = This is inside single quote - This is string scalar!
escape = This example of escape - Hello, World
Skaler İşlemler
Perl'de bulunan çeşitli işleçlerin ayrıntılarını ayrı bir bölümde göreceksiniz, ancak burada birkaç sayısal ve dizgi işlemini listeleyeceğiz.
#!/usr/bin/perl
$str = "hello" . "world"; # Concatenates strings.
$num = 5 + 10; # adds two numbers.
$mul = 4 * 5; # multiplies two numbers.
$mix = $str . $num; # concatenates string and number.
print "str = $str\n";
print "num = $num\n";
print "mul = $mul\n";
print "mix = $mix\n";
Bu, aşağıdaki sonucu verecektir -
str = helloworld
num = 15
mul = 20
mix = helloworld15
Çok Satırlı Dizeler
Programlarınıza çok satırlı dizeler eklemek istiyorsanız, aşağıdaki gibi standart tek tırnak işaretlerini kullanabilirsiniz -
#!/usr/bin/perl
$string = 'This is
a multiline
string';
print "$string\n";
Bu, aşağıdaki sonucu verecektir -
This is
a multiline
string
Aşağıdaki gibi çoklu satırları saklamak veya yazdırmak için "burada" belge sözdizimini de kullanabilirsiniz -
#!/usr/bin/perl
print <<EOF;
This is
a multiline
string
EOF
Bu da aynı sonucu verecektir -
This is
a multiline
string
V-Dizeleri
V1.20.300.4000 biçimindeki bir değişmez bilgi, belirtilen sıra sayılarına sahip karakterlerden oluşan bir dize olarak ayrıştırılır. Bu form v-dizeleri olarak bilinir.
Bir v-string, "\ x {1} \ x {14} \ x {12c} \ x {fa0}" biraz daha az okunabilir enterpolasyon formunu kullanmak yerine, karakter dizileri oluşturmak için alternatif ve daha okunaklı bir yol sağlar.
Av ile başlayan ve ardından bir veya daha fazla noktayla ayrılmış öğe gelen herhangi bir değişmezdir. Örneğin -
#!/usr/bin/perl
$smile = v9786;
$foo = v102.111.111;
$martin = v77.97.114.116.105.110;
print "smile = $smile\n";
print "foo = $foo\n";
print "martin = $martin\n";
Bu da aynı sonucu verecektir -
smile = ☺
foo = foo
martin = Martin
Wide character in print at main.pl line 7.
Özel Edebiyatlar
Şimdiye kadar dizi skalerleri ve onun birleştirme ve enterpolasyon işlemleri hakkında bir fikriniz olmalı. Öyleyse size üç özel değişmez değerden bahsedeyim __FILE__, __LINE__ ve __PACKAGE__, programınızın o noktasındaki geçerli dosya adını, satır numarasını ve paket adını temsil eder.
Yalnızca ayrı belirteçler olarak kullanılabilirler ve dizelere eklenmezler. Aşağıdaki örneği kontrol edin -
#!/usr/bin/perl
print "File name ". __FILE__ . "\n";
print "Line Number " . __LINE__ ."\n";
print "Package " . __PACKAGE__ ."\n";
# they can not be interpolated
print "__FILE__ __LINE__ __PACKAGE__\n";
Bu, aşağıdaki sonucu verecektir -
File name hello.pl
Line Number 4
Package main
__FILE__ __LINE__ __PACKAGE__