List Operators:正則表達式
sort reverse grep map 數組
my @castways = sort qw( first second third); # qw 給單詞自動加上雙引號session
grep: 從list中一個一個的取出,而後添加到$_中,而後經過測試標量的值,爲true的話添加到輸出列表中測試
some example:spa
my @lunch_choices = grep &is_edible($_), @gilligans_posessionsci
my @results = grep EXPR,@input_list;input
my @bigger_than_10 = grep $_ > 10 , @input_numbers;io
map: 也是經過一些規則改變列表,感受map能夠增長列表的元素,而grep更注重過濾table
my @input_numbers = (1 2 3 4 5 6 );ast
my @result = map $_ + 100 , @input_numbers;
my @result = map { $_ , 3* $_} @input_numbers;
Reference:
my @array = ( 1 2 3 4 );
my $ref = \@array;
$ref->[0] 調用方式 ,多級箭頭能夠簡化 $ref->[0]->[1]->[2] == $ref->[0][1][2]
@$ref 又能夠變回數組形式
正則表達式的高級形式:
末尾加x,能夠給正則表達式換行,提升可讀性
?#能夠給正則表達式作註釋
表達式 |
方向 |
說明 |
---|---|---|
(?=xxx) |
正向預搜索(向右) |
正向預搜索,判斷當前位置右側是否能匹配指定表達式 |
(?!xxx) |
正向預搜索否認,判斷當前位置右側是否不可以匹配指定表達式 |
|
(?<=xxx) |
反向預搜索(向左) |
反向預搜索,判斷當前位置左側是否可以匹配指定表達式 |
(?<!xxx) |
反向預搜索否認,判斷當前位置左側是否不可以匹配指定表達式 |
同時不匹配括號中的內容。