標量變量簡單變量隻包含一個元素,一個字符串或一個數字。字符串可能包含任何符號,字母或數字。數字可能包含指數,整數或十進製值。這裡標量變量的底線,他們的數據隻包含一個單件。你看到的是你得到的標量變量。
以下是標量變量的例子
#!/usr/bin/perl $number = "5"; $exponent = "2 ** 8"; $string = "Hello, PERL!"; $float = 12.39; # We can also assign a scalar an empty (undefined) value: $nothing = undef; # Printing all the above values - by www.gitbook.net print "$number\n"; print "$exponent\n"; print "$string\n"; print "$float\n"; print "There is nothing: $nothing\n "; This will give following result 5 2 ** 8 Hello, PERL! 12.39 There is nothing:
字符串是標量,像我們前麵提到的,字符串的大小是冇有限製的,任何數量的字符,符號或文字,可以補足到字符串。
當定義一個字符串,你可以使用單人或雙人的引用,你也可以定義他們使用q子函數。以下是如何定義字符串的例子
$single = 'This string is single quoted'; |
格式化字符串可以根據自己的喜好使用格式字符。其中的一些字符,也可以在Perl中創建的格式文件,認為以下這些字符表示的功能。
Character | Description |
\L | Transform all letters to lowercase |
\l | Transform the next letter to lowercase |
\U | Transform all letters to uppercase |
\u | Transform the next letter to uppercase |
\n | Begin on a new line |
\r | Applys a carriage return |
\t | Applys a tab to the string |
\f | Applys a formfedd to the string |
\b | Backspace |
\a | Bell |
\e | Escapes the next character |
\0nn | Creates Octal formatted numbers |
\xnn | Creates Hexideciamal formatted numbers |
\cX | Control characters, x may be any character |
\Q | Backslash (escape) all following non-alphanumeric characters. |
\E | Ends \U, \L, or \Q functions |
下麵是幾個例子
#!/usr/bin/perl $newline = "Welcome to \ntutorialspoint.com!"; $small = "\uthis, Here t will become capital !" $ALLCAPS = "\UThis completely will become capital!"; $PARTIALCAPS = "\UThis half will/E become capital!"; $backslah = "\Q'Hello World'\E!"; print "$newline\n"; print "$small\n"; print "$ALLCAPS\n"; print "$PARTAILCAPS\n"; print "$backslah\n"; This will give following result Welcome to tutorialspoint.com! This, Here t will become capital ! THIS COMPLETELY WILL BECOME CAPITAL! THIS HALF WILL become capital! \'Hello World\'!
substr()函數允許臨時更換一個字符串中的字符。我們可以將字符串“Hello,Perl” 更變為 “Hello, World!”很容易的。這意味著我們可以根據索引在數字的字符串的任何字符的每個字符將被自動分配一個數值。 Perl的計數0開頭的字符串每個字符的第一個字符和往下排列,直到它到達一個字符串的末尾。
兩個參數都必須傳到substr()函數,需要要索引和索引號的字符串兩個參考。如果兩個參數傳遞,Perl如果要更換的每個字符的結束,那麼要從該索引號。
#!/usr/bin/perl # Define a string to replace $mystring = "Hello, PERL!"; print "Before replacement : $mystring\n"; substr($mystring, 7) = "World! - www.gitbook.net"; print "After replacement : $mystring\n"; This will give following result Before replacement : Hello, PERL! After replacement : Hello, World!
因為我們隻指定一個字符串的數字參數,我們希望新的字符串每個字符替換後第7個。如果在函數的第三個參數,我們可以更換一個新的字符串,隻有我們的字符串一大塊。
#!/usr/bin/perl $mystring = "Hello, PERL!"; print "Before replacement : $mystring\n"; substr($mystring, 3, 6) = "World!"; print "After replacement : $mystring\n"; This will give following result Before replacement : Hello, PERL! After replacement : HelWorld!RL!
如果你想程序中引入多行字符串,你可以使用標準的引號:
$string = 'This is a multiline string';
但是,這是混亂的,是插值和引號使用相同的基本規律。我們可以繞過它使用不同的分隔符Q//QQ//操作符.
另一個更好打印多行的辦法
print <
V型字符串可以是一個有用的方式引入到Perl的版本號和IP地址。他們是任何文字與一個V開始,是由一個或多個圓點分隔的元素。例如:
$name = v77.97.114.116.105.110; |
Perl支持一個相當基本的方法,用於指定一個十進製的數字文本:
$num = 123; # integer $num = 123.45; # floating point $num = 1.23e45; # scientific notation
您也可以指定通過指定一個前麵的字符的十六進製,八進製和二進製的文字突出顯示的號碼類型:
$num = 0xff; # Hexadecimal $num = 0377; # Octal $num = 0b0010_0000; # Binary
您也可以指定通過指定一個前麵的字符的十六進製,八進製和二進製的文字突出顯示的號碼類型。 |