- 関数 -

Perlとは

書式の指定にはprintf関数を使う。 これはprint関数のかわりなので、そのまま画面に結果を表示させることが出来る。


$a = 25;
printf ("%04d", $a);
-------------------------------------
$a = 25;

$a = sprintf("%04d", $a); #sprintf関数は結果を変数に代入出来る
print $a;
-------------------------------------
<<結果>>
0025 #結果は同じになる

%d 整数(小数点のついていない整数)を10進法で表示
%f 実数(小数点の付いている数)を表示
%s 文字列を表示
サンプル Perlとは
split関数 文字列を特定の文字列で分けるための関数 split(/パターン/, 文字列);
サンプル

@a = split(/\,/, "abc\,defg\,hi"); #1行で記述する事も可能

※1文字ずつ区切りたい時は、split(//, 文字列);とする。 //の中には何も記述しない。

※かならず、splitで区切った結果を収納する場合には @ 配列に収納する。 しかし、区切る数が分かる場合、変数にそれぞれ収納する事が出来る。


($a, $b) = split(/:/, "mm:atata"); #:で区切る

print $a,"\n"; #mmとataataで区切れるので、最初の変数aにmmが、
print $b; #次にataataが収納される
-------------------------------------
<<結果>>
mm
ataata

Perlとは

for文では、繰り返す回数をあらかじめ決めて処理を行うが、forasch文は要素の数だけ処理を行う。

配列に何個要素が入っているか不明な場合等(何回繰り返すか分からない)に使用する。

サンプル

◆foreach文はfor文でも表現出来る


@a = ("春","夏","秋","冬");

foreach (@a){
	print; #print $a[0];が省略されている
	print " ";
}

	↑
	同じ意味
	↓

@a = ("春","夏","秋","冬");

for ($i=0; $i<@a; $i++){
	print $a[$i];
	print " "; #春と夏の間に空白を入れる
}
-------------------------------------
<<結果>>
春夏秋冬

◆split関数とforeach文の併用


$a = "Hello/CGI/fain!"; #もし変数に何個区切れるデータが入っているか分からない

@list = split(/\//, $a); #そんな時はsplit関数でまず区切って・・・

foreach (@list){ #foreach文ですべて書き出す
	print;
	print "\n";
}
-------------------------------------
<<結果>>
Hello
CGI
fain!

Perlとは
push関数 対象となる配列の最後に要素を追加する push(配列,"追加する文字");

@a = ("月","火","水"); #文字を配列に格納

push(@a,"木"); #1字追加の場合
push(@a,("金","土","日")); #複数追加の場合

print @a;
-------------------------------------
<<結果>>
月火水木金土日