良く使われる関数をピックアップして解説します。
print " 表示する文字列、変数 ";
指定された文字列や変数などを、画面のクライアント領域に出力します。 EBS上で用いる場合、ほとんどはHTML文章を出力対象とします。実際に画面上に見えるものだけでなく、<HEAD>タグなど、HTML全てをPrint関数で出力しています。 ダブルクォーテーション("")で括った場合は変数やバックスラッシュ(\)が評価されますが、シングルクォーテーション('')で括った場合は、それらはただの文字列として表されます。
例:
$kazu = 10;
print "<font color="#ff0000">答えは $kazu です。</font>";
出力結果:
答えは 10 です。
print << " -----END-----";
表示する文字列、変数
-----END-----
通常のPrint関数で1行1行HTMLを出力していくのは面倒ですし構造がつかみにくいので、これは1度に指定された範囲をHTML文書として出力する方法です。 上記では“(タブ空白)-----END-----”の間で括られた部分が出力されるHTML領域となります。別に前後の文字列は“-----END-----”でなくても構いません。EBS内では他にも“END_OF_HTML”などが使われています。要するに前後の文字列が同一のものであれば良いわけです。 HTML表示するとタブ空白が消えてしまうので、掲示板などからコピー&ペーストする場合はタブ空白があるか注意するようにしてください。
整数 = int( 小数 );
引数として与えられた小数の値を、小数点以下を切り捨てて整数にします。
例:
$sho = int(10/4);
print "答えは $sho です。";
出力結果:
答えは 2 です。
なお単に表示上だけで小数点以下を切り捨てたい場合は、printf()関数を用いるほうが良いようです。
乱数 = rand(取りうる乱数の最大値);
0からrand()の引数の値までの範囲で、乱数を取り出します。 rand(100)ならば、0〜99.999...までの値を返します。int関数で括ってやることで、整数値のみを取り出すことができるでしょう。 最近ではsrand()関数を用いなくても、自動的にsrand(time);を呼び出して乱数の種をセットしてくれるようです。
例:$kazu = int(rand(100)-49);
結果:$kazuは -49〜50 の範囲での整数値をランダムで返します。
@配列変数 = 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"
がそれぞれ代入されています。