関数リファレンス

良く使われる関数をピックアップして解説します。

print関数

print " 表示する文字列、変数 ";

指定された文字列や変数などを、画面のクライアント領域に出力します。 EBS上で用いる場合、ほとんどはHTML文章を出力対象とします。実際に画面上に見えるものだけでなく、<HEAD>タグなど、HTML全てをPrint関数で出力しています。 ダブルクォーテーション("")で括った場合は変数やバックスラッシュ(\)が評価されますが、シングルクォーテーション('')で括った場合は、それらはただの文字列として表されます。

例:
$kazu = 10;
print "<font color="#ff0000">答えは $kazu です。</font>";
出力結果:	
答えは 10 です。

print関数 その2

print << "	-----END-----";
表示する文字列、変数
	-----END-----

通常のPrint関数で1行1行HTMLを出力していくのは面倒ですし構造がつかみにくいので、これは1度に指定された範囲をHTML文書として出力する方法です。 上記では“(タブ空白)-----END-----”の間で括られた部分が出力されるHTML領域となります。別に前後の文字列は“-----END-----”でなくても構いません。EBS内では他にも“END_OF_HTML”などが使われています。要するに前後の文字列が同一のものであれば良いわけです。 HTML表示するとタブ空白が消えてしまうので、掲示板などからコピー&ペーストする場合はタブ空白があるか注意するようにしてください。

int関数

整数 = int( 小数 );

引数として与えられた小数の値を、小数点以下を切り捨てて整数にします。

例:
$sho = int(10/4);
print "答えは $sho です。";

出力結果:
答えは 2 です。

なお単に表示上だけで小数点以下を切り捨てたい場合は、printf()関数を用いるほうが良いようです。

rand関数

乱数 = rand(取りうる乱数の最大値);

0からrand()の引数の値までの範囲で、乱数を取り出します。 rand(100)ならば、0〜99.999...までの値を返します。int関数で括ってやることで、整数値のみを取り出すことができるでしょう。 最近ではsrand()関数を用いなくても、自動的にsrand(time);を呼び出して乱数の種をセットしてくれるようです。

例:
$kazu = int(rand(100)-49);
結果:
$kazuは -49〜50 の範囲での整数値をランダムで返します。

split関数

@配列変数 = split(/区切り文字/,展開する文字列変数);

ある特定の記号で区切られた文字列を分割して、それぞれを配列として変数に代入します。 多くの情報を一つの変数にまとめたいときに便利です。

例1:
$all = "15!10!26!38";
@kazu = split(/!/,$all)
結果:
kazu[0]=15、kazu[1]=10、kazu[2]=26、kazu[3]=38 がそれぞれ代入されています。

区切り記号は!や#などのほかに、空白文字(\s)も用いることが出来ます。 配列型変数を使わずに、分割した文字列を別々の変数に代入することも出来ます。

例2:
$data = "taro 0123 北海道 0123-45-6789";
local($name,$pass,$ad,$tel) = split(/\s/,$data);
結果:
$name="taro"、$pass="0123"、$ad="北海道"、$tel="0123-45-6789"

がそれぞれ代入されています。