Perl初歩の初歩

プログラミング言語Perlの初心者のためのわかりやすい解説ブログ(を目指しています)

です、ますをしっかりする…文法の話

2009-04-30 21:27:27 | ルールを覚えよう

日本語にも文法があるように、Perlというプログラミング言語にも文法が存在しています。
Perlは他の言語とくらべて比較的自由な言語となってはいますが、それでも守らなくてはいけない数多くの決まりがありますので、しっかり覚えていきましょう。

$a = 1;
$b = 2;
$c = $a + $b;
print $c;

$a = 1 は a という名前のスカラー変数に、数字の 1 を入れたことを意味します。こうすることで、今後、 $a と書いたときそれは 1 を表します。

ひとつの文の終わりには ; (セミコロン) を必ず書きます。

これはプログラムを実行する際に、改行が無視されるため、どこからどこまでがひとつの文かわからなくなるのを防ぐために、文の最後にセミコロンが必要となるのです。

$a
=
1
;

上のように極端に別の行に書いたとしても、 $a = 1; と同じ意味となります。

逆に、$a = 1; $b = 2; と横に並べて書いても、セミコロンさえ入っていればなんら問題はありません。

とはいえ、セミコロンのうしろに改行を入れておくほうが見やすいのではないでしょうか。


データを運ぶ入れ物が必要だ …変数の話

2009-04-30 17:52:41 | ルールを覚えよう

プログラム上では、データを入れ物に入れておく必要があります。食事をするときには料理をお皿に盛るのと一緒です。お皿に盛らなくてもナベという入れ物に入っていることもあるでしょう。

Perlには入れ物が3種類あります。

$ と @ と % です。

$osara とか @obento とか %menu というふうに、それぞれの記号のうしろに名前をつけて使います。自分でお好みのアルファベットを使って入れ物の名前をつけることができるわけです。

$ という入れ物の中には、ひとつの物しか入れることができません。

$osara には 「肉じゃが」や「ほうれん草のおひたし」など、それぞれ1品料理が入ってるわけです。

@ という入れ物には、複数の物を入れることができます。

@obento には「ご飯」も「タコさんウインナー」も「お漬け物」も入れることができるわけです。

% という入れ物にも複数の物を入れられますが、入れたものにさらに名前をつけることができます。

%menu にはたくさんの料理がありますが、これをください、と料理名を指定すれば好きなものが出てくるわけです。

入れ物のことを変数、$ を スカラー、@ を配列、% を 連想配列またはハッシュと呼びます。

$osara = "肉じゃが";
@obento = ("ご飯", "タコさんウインナー", "お漬け物");
%menu = ("今日のオススメ" => "サバのミソ煮", "Aランチ" => "野菜炒め定食");

上の例のようにすることで、それぞれの入れ物に料理を入れることができます。


簡単なプログラム

2009-04-30 17:02:11 | 目次・はじめに

Perlのプログラムをさっそく見てみましょう。

$a = 1;
$b = 2;
$c = $a + $b;
print $c;

$a が 1 で、$b が 2 で、$a と $b を足したものが $c であって、$cを表示しなさい、というプログラムです。

このプログラムを実行すると、もちろん「3」と表示されます。こんな暗算でもできるようなことを、コンピュータにやらせても何もおもしろいことはありませんので、次を見てみましょう。

$a = 1;
$b = 1000;
foreach my $d ($a .. $b) {
  $c = $c + $d;
}
print $c;

$a から $b までを全部足すといくつになるかを求めるプログラムです。この場合は 1+2+3+4+…+999+1000 を計算するわけです。

仮に上の $b を 1000000 という大きな数字にしたとしても、最新のコンピュータなら一瞬で答えをはじき出してくれます。

Perlに限らず、計算するというのはプログラムの基本ですし、コンピュータの最も得意とするところです。今後、プログラミングを覚えたら、どんどんコンピュータに命令してしまいましょう。


はじめに

2009-04-30 16:13:26 | 目次・はじめに

 むずかしい言葉で書かれている解説本を見て、いきなりやる気がなくなることがある。なんでこんなにわけのわからない説明をしているのだろう、もっとわかりやすい言葉で書いてくれればいいのに、っていつも思ったりしている。

 多くの場合、プログラミングをしているプロフェッショナルな方々は、論理的な思考の持ち主で、正しくものごとを伝えようと思っている傾向にあると思う。完璧さを求めるあまりに、ムダな表現やあいまいな言い回しをするのを嫌い、過不足なく間違いのない言葉選びをするので、無味乾燥の味気ない文章、リズムのない眠くなるような文章となってしまい、読もうとする人のやる気をそいでしまうのではないだろうか。

 それなら、できるだけむずかしい表現はしないように、わかりやすい解説をしたものを自分で作ろうと思い立ちました。

 ここにこれから書こうとすることは、正確さを多少犠牲にして、わかりやすさを重視していくつもりです。

 たとえば、「人は外へ出る時に靴をはく」と言ったとき、必ずしも正しいとは言えないでしょう。はだしで生活している人もいますし、下駄や草履は靴なのかという問題もあるでしょう。しかし、多くの日本人の場合、外へ出る時には靴をはくというのはおおむね正しいと言えるはずです。

 また、自分が学習してきた中で、「具体例」ほど役に立ったものはありません。

 プログラミングを学ぶ上で、どんなに詳しい説明であっても、それだけではさっぱり理解はできないものです。ふんだんな具体例・サンプルコードがあってこそ、より深い理解が得られるものです。ここでは、そんな具体的なコードを多く掲載していきたいと思っています。

  → 目次へ進む