#!/usr/bin/per -w
use strict; #強制型別宣告,可宣告為my,our等
#標量以$標識,可以是整形、浮點、字串
my $int1 = 1;
my $real1 = 1.1e2;
my $octal = 017; #0開頭是八進位制
my $hexa = 0x1ff; #0x開頭是十六進製制
my $str1 = "abc";
my $str2 = "ab
c"; #支援多行
my ($var1,$var2) = (1,"a"); #支援幾個變數一起宣告
print "\$int1=$int1\n"; #$需要轉義,否則直接輸出$int1的值
printf "\$str1=%s\n",$str1; #格式化輸出,區分整形、浮點、字串
my $var = $int1.$str1; #標量間用"."可以拼接字元
print $var."\n"; #"1abc"
=head1
=cut
#!/usr/bin/perl -w
#陣列以@標識,有序的存放標量、陣列,也可以存放雜湊
my ($a,@array1) = (2,(3,"a")); #@array1=(3,"a")
my ($a,@array2,@array3) = (2,(3,"a"),(4,"b")); #@array1=(3,"a",4,"b"),@array3=();
my @array4 = (1,"a",$a,@array1);
#qw返回字串列表,以空格分隔,也可用qw/.../標識
my @array4 = qw(1 2 a);
#支援字元或數字的「..」範圍宣告
my @array5 = (1..10);
my @array6 = (a..z);
#陣列索引($[)預設從0開始,以$array[index]方式取值
print $array1[0],"\n"; #3,","或"."在print時可連線字元
print $array1[0]."\n";
print $array[-1]; #支援倒序索引
print $array[0..2,4]; #多個索引用「,」隔開,連續索引可用".."
#陣列函式:
#1.新增、刪除元素
push @array1, $var1; #push $var1 into the end of @array1;
push @array2,@array1; #push @array1 into the end of @array2;
pop @array2; #彈出末尾乙個元素
shift @array2; #彈出陣列第乙個值,並返回它。陣列的索引值也依次減一
unshift @array2,$var2; #push $var2 into the front of @array2
unshift @array1,@array2; #push @array2 into the front of @array1;
#替換、刪除元素:splice @array, offset [ , length [ , list ] ]
splice @array,0; #length沒有則選到末尾,list沒有則進行刪除
splice @array,0,1; #從索引為0的元素開始,選擇1個元素,替換為空,即刪除
splice @array,0,2,@arrya2; #用@array2替換陣列前兩個元素,@array2大小不限
#字串分割成陣列: split [ pattern [ , expr [ , limit ] ] ]
my $var = "a_b_c";
my @array = split "_",$var;
my @array2 = split "_",$var,2; #限制返回陣列的元素個數為2,則返回("a","b_c")
#連線數組成字串: join expr, list
my var2 = join "_",@array; #$var2="a_b_c"
#排序:sort @array;
#$[: 陣列第乙個索引,預設為0;
#$_: 遍歷陣列時的當前元素;
#陣列合併:my @array3 = (@array1,@array2);
賦值時,perl根據=左邊的變數型別決定返回值#!/usr/bin/perl -w
#雜湊以%標識,是key/value鍵值對無序組合
my %hash1 = ("a"=>1,"b"=>"2"); #推薦key=>value形式,key,value形式也可,但不直觀;注意不是{}
print $hash1."\n"; #$hash形式訪問value
my @keys = keys %hash1; #key方法返回雜湊的key集合,注意不是key;不保序
my @values values %hash1; #value方法返回雜湊的value集合,注意不是value;不保序
#新增刪除元素
my $hash1 = 3; #直接賦值
delete $hash;
#檢測key是否存在:exists
if(exists $hash1)
賦值運算子支援自操作:+=,-=,*=,/=,%=, **=,++,--#!/usr/bin/perl -w
my $var;
my @array = (1,2,3);
$var = @array; #3,標量上下文,陣列返回元素個數
引號運算子:q{},qq{},qx{}
q:'ab',即新增單引號
qq:"abc",即新增雙引號
qx:`time`,即新增反引號,主要用於輸出系統命令,``不直接輸出到螢幕,system()直接輸出到螢幕
關係運算子:
1.數字關係運算子:>,<,==等,<=>:左邊《右邊,返回-1,=返回0,>返回1,如:my $var1 = 1<=>2; #-1;
2.字元關係運算子:eq等於,ne不等於,<,>等
其他:.連線字串
..範圍運算子
x字串重複,如my $var = "a" x 2;則$var = "aa"
資料型別 運算子
一.資料型別 1.整數型別 2.浮點數 定點數 m為精度 資料總長度 d為標度 小數點後長度 單精度 佔4個位元組,有效數字是7位 雙精度 佔8個位元組,有效數字是16位 在一定情況下,浮點數能表示更大的儲存範圍,但容易產生誤差。因而對精度要求較高時,選擇定點數。定點數以字串儲存。3.日期 時間 4...
資料型別。運算子
一.變數不能重複宣告 int a 10 int a 100 錯誤 二.8種資料型別 1.整形 byte short int long byte 的取值範圍 128 127 2的7次方到2的7次方 1 short 的取值範圍 32768 32767 2的15次方到2的15次方 1 int 的取值範圍 ...
資料型別和運算子 運算子
objective c 支援所有的基本算術運算子 除法運算子。除法運算子有些特殊,如果除法運算子的兩個運算元都是整數型別,則計算結果也是整數,就是將自然 數除法的結果斷取整。求餘運算子。它要求運算子兩邊的運算元必須是整數,他的計算結果是使用第乙個運算元來除以第二個運算元,得到 乙個整除的結果後,剩下...