未経験大学生によるPerl入門日誌-第1話

前文

片山です。Perlをやれというお告げが来たのであんまり興味ないですが入門してみます。(ハローワールド程度)

こんなのじゃなくてまともな記事が見たいという方はこちらを御覧ください。

主文

導入

OS Xにはもともと入っているらしく、自分は/usr/local/binに入ってました。ちなみにv5.24.0でした。
大したことをやるつもりはないのでこのままでやります。

ハローワールド

いざ入門です。ハローワールドだけなのでわざわざエディタは開きません。ターミナルから

$ perl -e 'print "Hello Friends!\n"'

してあげるとハローワールドが出来ます。printする程度だと普通な感じですね。特にすごーい!とはなりませんでした。 

変数

変数あたりの扱いになるとさすがにキモいPerlらしさ?が出てくるのでしょうか。いや、全く関心はないんですけれども。

どっかのサイトの受け売りですが、Perlでは主にスカラー、スカラー配列、スカラー連想配列というデータ型があるそうです。

とりあえず普通の文字列や数値はスカラー変数というものに投入するらしいです。$がたくさんついててすごーい!

$hoge = 123;
$fuga = " friends";
print "$hoge\n"; # 123
print "$fuga\n"; # friends

ちなみにこういうのも簡単にできるみたいです。すごーい!

$friends = "けもの";
print "${friends}はいても、の${friends}はいない\n";

四則演算

入門の定番、四則演算も普通にできるみたいです。すごーい!

$hoge = 7;
$fuga = 3;
print ${hoge} + ${fuga}, "\n";  # 10
print ${hoge} - ${fuga}, "\n";  # 4
print ${hoge} * ${fuga}, "\n";  # 21
print ${hoge} / ${fuga}, "\n";  # 2.33333333333333
print ${hoge} % ${fuga}, "\n";  # 1
print ${hoge} ** ${fuga}, "\n"; # 343

配列・リスト

配列やリストも使えます。my @変数名で宣言できます。

my @hoge = (100, 200, 300);
print @hoge[0], "\n"; # 100
print @hoge[1], "\n"; # 200
print @hoge[2], "\n"; # 300

正直イチイチ@とか’$’つけるのが面倒くさいです。

繰り返し

for文と絡ませてみます。for文とかはフツーなのです。すごーい!

my @friends = ("サーバルキャット", "フェネック", "アライグマ", "ジャガー", "フンボルトペンギン");

for ($i = 0; $i < 5; $i++ ) {
    print "きみは@{friends[$i]}のふれんずなんだねー!", "\n";
}

myからの’friends’がなかなかいいですね。我ながら。たのしー!

めんどくさいのでWhileはやりません。

コメントアウト

一行コメントは先ほどまでのとおり#でできます。

複数行コメントはちょっと独特で、

=pod
my @friends = ("サーバルキャット", "フェネック", "アライグマ", "ジャガー", "フンボルトペンギン");

for ($i = 0; $i < 5; $i++ ) {
    print "きみは@{friends[$i]}のふれんずなんだねー!", "\n";
}
=cut

=podというのと=cutというので囲んであげることでコメントアウトできます。

陰の声: Rubyにもよく似た複数行コメントアウトありますよー

末文

本当に入門オブ入門という感じで入門になってないのではないかという指摘がありそうですが、$パラダイスに飽きたので今回はここまでにします。

関連記事

Ruby on RailsによるWEBシステム開発、Android/iPhoneアプリ開発、電子書籍配信のことならお任せください この記事を書いた人と働こう! Ruby on Rails の開発なら実績豊富なBPS

この記事の著者

Yuki.K

1995年生まれ。慶應大学SFCに在学中。 夢も希望もなくキャンパスを彷徨っていたところ、夢と希望いっぱいのBPS村に引きずり込まれてしまった大学生アルバイト。 雑用担当

Yuki.Kの書いた記事

週刊Railsウォッチ

インフラ

BigBinary記事より

ActiveSupport探訪シリーズ