perl

四捨五入

2013-08-24 01:24
my $a = 10.335444; print sprintf("%.2f", $a);

++/--

2013-08-23 23:18
my $i = 1; while ($i <= 10) { print ++$i."\n";   # 印出 2...11 } my $j = 1; while ($j <= 10) { print $j++."\n";   # 印出 1...10

for

2013-08-23 22:52
my $result = 1; for (my $num = 1; $num <= 10; $num = $num + 1) { $result *= $num; }   for my $num (1...10) { # 這就是表示$num從1到10 print $num; } 這其實可以寫成: for (1...10) { # $_ 經常被拿來作為迴圈的預設變數 print $_; } 更簡化的寫法: print for (1...10);

while

2013-08-23 22:49
while (1) { # 在這裡,程式會得到永遠的真值 print "這是無限迴圈"; } 第三,在這裡,你還是可以讓只有單一敘述的while迴圈利用倒裝句達成: 我們假設你完全知道剛剛的程式會發生甚麼事,而那正是你所希望達成的,那麼我們就可以來改寫一下,讓他變得更簡潔:   print "這是無限迴圈" while (1);  

if

2013-08-23 22:45
if ($num < 5) { $num++; } 這樣的寫法確實非常工整,可是對於惜字如金的Perl程式員來說,這樣的寫法似乎非常不經濟。於是一種簡單的模式被大量使用:   $num++ if ($num < 5);

qq

2013-08-23 17:17
print "\$ 用來提示純量變數, \@ 則是陣列,還有 \"\n"; print qq/\$ 用來提示純量變數, \@ 則是陣列,還有 \"\n/; print qq|\$ 用來提示純量變數, \@ 則是陣列,還有 \"\n|; 結果看來都是一樣的 $ 用來提示純量變數, @ 則是陣列,還有 "

map

2013-08-23 17:16
my @array = map { sqrt($_)*10 } qw/45 33 8 75 21 15 38 69 46/;

pop/push

2013-08-23 17:15
my @array = qw{first second third}; push @array, 'fourth'; print $#array;   # 這裡印出來的是3,表示'fortuh'已經被放入陣列 pop @array; print $#array;   # 至於pop,則是把元素從陣列中取出  

grep

2013-08-23 17:12
my @array = qw/6 -4 8 12 -22 19 -8 42/;   # 指定一個串列給陣列 @array my @positive = grep {$_ > 0} @array;   # 把@array裡大於零的數字取出 print "$_\n" for @positive;    # 印出新的陣列 @positive

sort

2013-08-23 17:09
my @array = qw/45 33 75 21 38 69 46/; @array = sort { $a <=> $b } @array; 這樣Perl就會幫我們把陣列重新排列成為 21 33 38 45 46 69 75 其實,如果你這樣寫也是有相同的效果: @array = sort @array; 當然,如果你需要比較複雜的排序方式,就要把包含排序的區塊加入,所以你也可以寫成: @array = sort { $b <=> $a } @array;     my...
<< 1 | 2 | 3