print "Hello!";を書いておき,
perl -cw hello.plとすると,文法が間違っていないかどうかをチェックする.
perldoc perlなど,ドキュメントを調べるコマンドもある.
$price = 1000というように,$を使う.
if ($line =~ /^\d+$/) { print " $line is number\n"; }
@num = (1 , 2, 3)各要素を参照するには,
print $num[0]という具合に,最初の要素を参照する. 要素は $ を使って参照する.
$line = 'Hello'; @array = split(//, $line); print join(':', @array);とすると,H:e:l:l:o と表示される.
$num = 12; @array = split(//, $num); foreach $file (@array) { print "<img src=\"$file.gif\">"; }とすると,
<img src="1.gif"><img src="2.gif">と表示される.
$line ='10:20:30'; ($a, $b, $c) = split(/:/, $line); print " $a, $b, $c \n";とすると,
10, 20, 30と表示される.
% perldoc -f splice splice ARRAY,OFFSET,LENGTH,LIST splice ARRAY,OFFSET,LENGTH splice ARRAY,OFFSET splice ARRAY ....OFFSETからLENGTH個数を取り除き,LISTで置き換える. リストコンテクストでは,取り除かれた要素が返り, スカラーコンテクストでは,除かれた要素の最後が返る.
The following equivalences hold (assuming `$[ == 0'): push(@a,$x,$y) splice(@a,@a,0,$x,$y) pop(@a) splice(@a,-1) shift(@a) splice(@a,0,1) unshift(@a,$x,$y) splice(@a,0,0,$x,$y) $a[$x] = $y splice(@a,$x,1,$y)
$str = '10,20,30'; if ($str =~ /(\d+),(\d+),(\d+)/) { $a = $1; $b = $2; $c = $3; print "$a:$b:$c\n"; } のように,$番号で参照する.階層的にカッコがある場合には, 左カッコの順で決まる. パターンの中で参照する場合には,\番号で参照する.
$str = "How are you?\n"; $str =~ s/(\w+) (\w+)\?/$2 $1!/; print $str;とすると,
% perl ../../perl/replace.pl How you are!と表示される.