インターネット&PC120%活用:インターネット活用編
表示、入力、変数の基礎
1 手始めに画面への表示
まずは肩ならしで、画面になにか表示させてみましょう。
画面表示コマンドは、BASICでもおなじみの print を使います。ただし、C言語のように
末尾に ; をつけますので、忘れないで下さい。文字列の表示は、これもBASIC同様に、
文字列を " (ダブルコーテーション)で囲みます。
Hello と表示するには
print "Hello";
とします。簡単ですね。
2 変数
Perlの一般的な変数は「スカラー変数」と呼ばれます。
スカラー変数は先頭に $ をつけます。
Perlのスカラー変数には、特に変数の型はなく、数値も文字列もいっしょに扱います。Visual
Basicで
言うとヴァリアント型のようなものです。
3 文字列の表示
一番最初に、文字列は " で囲むと書きましたが、Perlでは ' (シングルコーテーション)で文字列を
囲むこともできます。ただし、細部では若干機能が違います。簡単なプログラムを実行してみましょう。
例題1
#!D:/jplwin32/jperl
print "あなたのお名前は? \n";
$name=<stdin>;
chop ($name);
print "HELLO! $name さん\n";
print 'HELLO! $name さん\n';
|
実行画面です。
D:\jplwin32>jperl test.pl
あなたのお名前は?
かさやん
HELLO! かさやん さん
HELLO! $name さん\n
D:\jplwin32> |
上の実行例では、スカラー変数
$nameに 「かさやん」と入力しました。
" (ダブルコーテーション)の方では、 $name が展開されて 「HELLO! かさやん
さん」と表示されましたが
' (シングルコーテーション)の方では、
展開されずそのまま $name で表示されています。
また、\n
は改行を意味するエスケープシーケンスですが、
" ではエスケープシーケンスが有効ですが、
' ではエスケープシーケンスとしては認識されず、単に\n
という文字として扱われています。
これで、大きな違いがわかったと思いますが、 " (ダブルコーテーション)で囲むと、スカラー変数は
展開され、エスケープシーケンスが有効になるわけです。
変数を展開する時には、$
を変数の始まりとみなし、変数に使えない文字(スペース、記号、カタカナ)の
直前までを変数名と判断します。変数のあとに、さらにアルファベットがつづくような場合は、変数名を
{ } で囲んで変数であることを明示します。
print "Hello! {$name}san";
スカラー変数 $name のあとに、アルファベットで san と続くので、変数部分を{
}で括ってやらないと
$namesan という変数だとみなされてしまいます。
4 主なエスケープシーケンス
ついでに、主なエスケープシーケンスをあげておきます。だいたいC言語と同様です
エスケープシーケンス |
意味 |
\\ |
\ |
\$ |
$ |
\" |
" |
\% |
% |
\& |
& |
\b |
バックスペース |
\f |
改ページ |
\n |
改行文字(LF) |
\r |
改行文字(CR) |
\t |
タブ |
\x |
文字コード(16進数)の文字 |
5 入力について
キーボードからの入力は <stdin> を使い
$a = <stdin>;
のようにします。
また、 chop
という関数が使われていますが、これは文字列の末尾の文字を取り除く関数です。
ここでは、スカラー変数 $nameに代入された文字列から、末尾の改行コードを取り除いています。
末尾が改行コードだったら、取り除くという働きをする、
chompという関数もありますが、おじさんの
Jperlには実装されていないようなので、 chopを使いました。
TopPage
|