はい。ご無沙汰!!

梅雨!!

では早速、

----------------------------------------------------------------------------

今日から変数について考えよう。

Perlはプログラムだから

「何かしらのデータを入力して、何かしら処理し、何かしらのデータを出力する」

のだけれども。その入力された「データ」とやらをPerlちゃんはどうやってキープしとくのか?を今日は理解しよう。

Perlちゃんは3種類の方法でデータをキープするよ。

1.スカラー変数

2.配列

3.ハッシュ


ネーミングに全く統一性が無いね。と思ってしまうね。

まず簡単に説明すると、スカラーは単数のデータを保持し、配列は複数のデータを「順番」に保持ハッシュは複数のデータを「バラバラ」に保持するんよ。大丈夫。今意味が分からなくてもそのうち分かるから。

----------------------------------------------------------------------------

で、今回は「スカラー変数」(以下、変数)なんだけど、

記述の仕方は「$」で始まる半角英数文字。


(使用できる文字と記号)

半角英小文字 a-z
半角英大文字 A-Z
半角数字 0-9
特殊記号 _(アンタースコア)のみ



例えば

$name とか、$chara とか。

で、その後にアンダーバー「_」や数字「001」などをつけるのはOK。例えば、

$name01 とか $chara_001 など。

注意する点はアンダーバーや数字から始まるのはNG。例えば、

$001_name とか $_chara001 とか。($_という変数はデフォルトで存在する)

あと、大文字、小文字をPerlちゃんは区別するので、例えば、

$name と $NAME は別物扱い。





----------------------------------------------------------------------------

ついでに変数の定義の仕方も一緒に憶えよう。!!

はい、これ。

$a = 10;

$aイコール10?

違います。Perl上では、

「10という数値を$aという変数に代入する」

という意味。

簡単に言うと「$aという袋に10という数値を入れておく」でどうだろう?

※数学で出てくる記号がPerlでは違う意味で使われることが多いから注意しよう。

ではcopalで次のように入力してみよう。

$a = 123;
print $a;

<実行結果>
123


↑の意味は「$aに123という数値を代入し、$aをディスプレイに出力せよ」
すると$aには123が入っているから「123」と表示されるよね。

なんとなく意味分かった?

ちなみに文字だと

$a = "やっほー!!";
print $a;

<実行結果>
やっほー!!


そう。文字列のときは「"」(ダブルクォーテーション)で囲むこと。




というわけで次回ももう少し変数について勉強してみよう。




い。今回はPerlの基本操作でし。

もう本題のPerlの内容について書こうかと思ったけれど、もうチョイ我慢。

ざっくり簡単な決まり事だけ知っておきましょうー。

------------------------------------------------------------------
セミコロン
そう。何か命令を書いたら最後には必ず「;」をつけましょー。

print 123456789 ;    ←命令したら最後に「;」セミコロンをつける。

<実行結果>
123456789


-----------------------------------------------------------------

文字列の表示
上記のように数値ではなく文字だったら「"」ダブルクォートで囲もう!

print "こんにちは!!" ;   ←「"」ダブルクォートで囲」む。

<実行結果>
こんにちは!!


-----------------------------------------------------------------

()カッコが優先
そう、Perlは数学と一緒で()カッコを優先して計算するのだー。

$a = 2 + 3 *4 ; #14になる
$a = (2 + 3) * 4 ; #20になる


-----------------------------------------------------------------

コメントアウトは「#」

プログラムに直接メモを書き込むことが出来る。
でもPerlがメモ部分をプログラムと勘違いしないようにメモの先頭に「#」を
つけよう。Perlが読みと飛ばしてくれるよ。

$a = 2 + 3 *4 ;    #14になる ← この部分

-----------------------------------------------------------------

同じ値ならまとめて定義してしまおう。

$a = $b = $c = 0 ;

-----------------------------------------------------------------

半角スペース
半角スペースはデータを区切る区切り文字なのだ。
1 2 3 4 5 6 7 8 9

-----------------------------------------------------------------

スカラーコンテキスト
コンテキストとは「文脈」のこと。
Perlはプログラムの前後のコンテキスト「文脈」を読んでその値を数値なのか文字列なのか判断をする概念を持っている。かしこいね。
例えば入力した 1234というデータをスカラーコンテキストが「数値コンテキスト」であれば数値しとて取り扱い、「文字列コンテキスト」であれば文字列として扱う。
他にもリストコンテキストと言うのがあるけどそれはまたおいおい(^^ゞ

-----------------------------------------------------------------

関数について

関数って何?えーと、受け取った値を何かしら処理して返す命令?みたいなの。あぁ曖昧(/ω\)

Perlには二種類ある

1.組込関数
システムに初めから入っているもの。記述は↓
関数名(引数の並び)

2.ユーザー関数
ユーザーが作るサブルーチンの事。記述は↓
&サブルーチン名

-----------------------------------------------------------------

以上、Perlの基本ルールをざっくりあげてみました。
他にもいろいろあるんだけど僕もまだ理解してないので一緒においおい学んで行こうー。
次回からは必ず本題に入ってやる!!

さて、今回はPerlを学習するにあたり全体像をざっくり把握しとこうー。

で、これを見てー。

$R40ですけど...何か? 初めてのプログラミング~Perl編~

何故にマインドマップ?
そこはスルー。

Perlを学ぶのに全体のセンテンスを挙げてみた。
だいたい要素はこんな感じみたい。全部で10個だね。

1.スカラー変数
2.配列・リスト
3.ハッシュ

これらはPerlでデータ(値)をどう扱うかを定義する方法。
簡単に言うとデータを入れて置く箱をいろいろな方法で作る。あれ?簡単になってない?!

4.条件分岐
5.ループ

ここではプログラムの流れの制御方法を覚えよう。
プログラムって結局yesかnoしかないのねって思える瞬間。

6.サブルーチン
プログラムの中で同じ処理が何度も出てくるなら一つにまとめませんか?って話。

7.ファイルのI/O
ファイルを開いたり、追記したり、保存したり。
普段ソフトで何気にやってることをPerl的にするとどうやるのか?みたいな。

8.正規表現
テキストデータの強力な検索・置換え機能

9.ライブラリ
10.CGI

この二つはおそらく後半クライマックスの応用編って事で扱うことになると思う。
「ライブラリ」は便利でよく使うプログラムがすでにテンプレート化されているもの。
「CGI」はご存知、掲示板とかチャットなどwebで動くアプリのこと。

以上10の要素でした。

さて次回からは早速1番の「スカラー変数」から学んでみようと思うー。

大まかな記述のルールなども本題を進めつつ学んで行こう。

ではでは。


☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆