ぼりぼり農園

iPhoneアプリ開発しながらObjective-CとPerlとLinuxとネタ集め。家に大きめの机欲しい。あとイス。

Perlの勉強#001:おまじないについて〜魔法のコトバ〜

前回(Perlの勉強#000:Hello World!(+1)を作って実行)では、「HelloWorld!」の文字列を、printを使って表示するという所までやりました。
今回は、全てのPerlファイルを作成するときに書いておくべき、共通の「おまじない」についてです。

おまじない

下記の3行を、今後作成するplファイルの冒頭に記述するようにします。

#!/usr/bin/env perl
use strict;
use warnings;

細かく見ていきます。

#!/usr/bin/env perl

この行は初心者向けとしては深いので読み飛ばしてもらって大丈夫です。だからおまじないなのね。
"#!"で始まる行を、shebang(シバン)といって、このファイルを実行する際のインタープリタへのパスとして、最後の引数に渡して解釈する、というなんだかわかったようなわからないようなものです。
結局わからなかった。色々詳しいページもあるので各自参照してください。
http://cpplover.blogspot.jp/2013/08/shebang.html
http://www.rsch.tuis.ac.jp/~ohmi/literacy/cgi/perl.html
この行は無くても実際は動く(前回も動かせた)けど、これがあると、コマンドとして実行する事ができるようです。
前回作ったhello.plに対してやってみます。

$ perl hello.pl
$ Hello\nHello

出ました。普通にperlコマンドであれば実行できます。
perlコマンドではなく、コマンドとして実行してみたい。

$ chmod +x hello.pl
$ ./hello.pl
./hello.pl: line 1: print: command not found
./hello.pl: line 2: print: command not found

直接ファイル名をコマンドとして実行する為に、"chmod"コマンドでhello.plファイルに書き込み権限を追加してから実行してみました。
だめです。コマンドが見つからない、と表示されました。
おまじないが書かれていないからです。
という事で、hello.plの1行目に"#!/usr/bin/env perl"を追記して保存。
再度やってみる。

$ ./hello.pl
Hello\nHello

できた!
という事のようです。これが何に役立つのかはまだ実際よくわからないですが、あった方が良いとの事なので、ひとまず書くようにしましょう。

use strictでstrict(厳格モード)

こちらの方がわかりやすい。
"use strict;"とする事で、このplファイルが「strictモード(厳格モード)」というモードで実行される事になります。
厳密な書式を定めたり, 未定義の変数を警告するといった効果があります。
どういう事かというと、これを書いておくと、致命的なタイプミスがあった場合に警告してくれます。
例えば、変数名"hello"を作ったのに、"hellllllo"で間違って実行しようとしたりすると、そんなの無いよって言ってくれるので便利です。書いておこう。

use warningsでバグ予防

"use warnings;"と書くと、望ましくない記述を警告してくれる効果があります。
Xcodeでいう黄色いエラー表示のやつです。
致命的ではないけど、正しい書き方ではないよ!って注意してくれる几帳面なやつです。頼もしいので、書いておこう。
Helloworldくらいではお世話にならないですが、今後すごく使えます。

前回のhello.plにおまじない追加

という事で、前回のhello.plにおまじないを追加します。
Perl入学式では、ここが練習問題になっているので、各自やってみよう。

#!/usr/bin/env perl
use strict;
use warnings;

print 'Hello\n';
print "Hello\n";

こんな感じです!
という事で、唱えておけば憂いなし!のおまじないを今後は冒頭に記述するようにしましょう。

今回はここまで。お疲れさまでした。
前回(Perlの勉強#000:Hello World!(+1)を作って実行)

Perlの勉強#000:Hello World!(+1)を作って実行

Perl入学式に6月から参加(#2、#3、#4)していて、なんでもっと早く始めてなかったんだろう、と思う位プログラミング楽しい!と思ったので、自分のPerlの勉強ログを付けていきます。
これを読んだ人も、#000から読み進めて、復習問題を解いていけばPerlができるようになる…ようなものになれば嬉しく思います。

まずは、初歩の初歩から。
※ちなみに自分の環境はMacです。Windows環境の人は、適宜置き換えてご覧ください。

1:コマンドラインに慣れよう

まずは秀丸のようなGUIテキストエディタでの作業から卒業して、Windowsで言えばコマンドプロンプト、Macで言えばターミナルなどのコマンドライン上での作業に慣れる事が必要!
こればっかりは、積極的に使っていかないと慣れないですね。自分もまだまだひよっこです。
黒い画面での作業はなんせ、かっこいい。これがモチベーションになります。

2:vimに慣れよう

ターミナル上でファイルを作成したり編集したりするのは、vimを使います。
Macならデフォルトでインストールされているはず。慣れるとめっちゃ効率よいらしいです。まだ恩恵に預かってないですが。
vimにはチュートリアルがあるので、まずはターミナル上で、

$ vimtutor

と打つと、チュートリアルができます。40分〜1時間位で終わります。
一通りの流れを学べるので、まずはやってみる。

3:Perlのバージョン確認

MacOSXにはPerlがプリインストールされている?らしい。
チェックします。

$ perl -v

そうすると、下記みたいなのが出れば大丈夫です。

This is perl 5, version 12, subversion 4 (v5.12.4) built for darwin-thread-multi-2level
(with 2 registered patches, see perl -V for more detail)

Copyright 1987-2010, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

出なかったらPerlが無いので、インストールしてください。頑張って…

4:いつものアレ(Hello World!)にひと味添えて

いよいよPerlのプログラムを作ります。
まずは、ターミナル上で、vimを使ってhello.plを作成します。

$ vim hello.pl

そうするとvimが起動して、hello.plの新規作成画面になります。
下記を入れてみましょう。そう、アレです。

print 'Hello, World!¥n';
print "Hello, World!¥n";

ポイント

  1. 上記の内容で保存する(escを押して、:wqで上書き保存)
  2. printは、ターミナルに文字を表示するコマンド
  3. printと;の間の文字列が表示される
  4. "(ダブルクォーテーション)で囲むと、変数が入っていた場合に変換してくれる。
  5. ¥nはセットで、改行を意味します。printする時は改行しよう。
  6. '(シングルクォーテーション)で囲むと、変数が入っていた場合にも文字列として表示される。なので、上記の形にすると、改行されないはず。
  7. コマンドの最後には必ず;を付ける

5:実行するよ

hello.plをperlコマンドで、実行してみます。

$ perl helo.pl
Hello, World!¥nHello, World!

やったぜ!表示された!ヨッシャオラ!!
しかも、1行目のprintは、'(シングルクォーテーション)で囲んでいたので、改行コードが反映されずに、2行分のprintの内容が1行にまとまって表示されています。
内容は薄いけどこれでPerlの国に無事入国した事になりました!
本日はここまで。お疲れさまでした。
次→Perlの勉強#001:おまじないについて〜魔法のコトバ〜

MacにGitをインストールする(だけなのにいくつかつまづいた)メモ。

GitHubを使って色々ソースをアップしてにんまりしよう。
そうだ、Gitをインストールしよう。

しかし、簡単だと思ったら割とつまづいたのでメモしときます。

インストール環境

インストールレシピ

  1. Gitのバージョン確認(あるなら完了)
  2. Macでwgetコマンドが使えるか確認(使えなければ設定)
  3. Macでmakeコマンドが使えるか確認(使えなければ設定)
  4. Gitをインストール!
  5. Gitのバージョン確認してにんまりして完了

1:Gitのバージョン確認

ターミナルで下記を打ってみる。

$ git --version

ここで git version 1.x.x.x などと表示されれば、既にインストールされてるので必要なし。
自分はだめだったので次の手順へ。

2:Macでmakeコマンドが使えるか確認(使えなければ設定)

Gitインストール自体は簡単ですが、そのためにwgetコマンドが必要。
wgetコマンドがない場合の設定にmakeコマンドが必要。
makeコマンドがない場合、設定する…という三重苦構造。ここで時間がかかった。という事でない場合はさかのぼって始めます。

結論としては:Xcodeのコマンドラインツールがインストールできれば、makeコマンドが使えるようになります。

  1. Xcodeを開く
  2. 上部メニュー Xcode > Preferences...を開く
  3. Downloadsタブを選択
  4. Components > Command Line Toolsを選択してインストール
  5. 完了!

3:Macでwgetコマンドが使えるか確認(使えなければ設定)

続いてインストールする時に必要なwgetコマンドが使えるのかどうか確認します。

$ wget http://google.com/

wget is not found的なエラーが出たら、無いので設定する。
ターミナルにて下記コマンドを打つ。

$ cd どこでもOK(ファイルをDLするので適切な場所)
$ sudo curl -O http://ftp.gnu.org/pub/gnu/wget/wget-1.13.4.tar.gz
$ sudo tar zxvf wget-1.13.4.tar.gz
$ cd wget-1.13.4
$ sudo ./configure –-with-ssl=openssl
$ sudo make
$ sudo make install

4:Gitをインストール!

git のソースはバージョンが日々変わるので、https://www.kernel.org/pub/software/scm/git/ にアクセスして、最新バージョンをゲットする。

$ cd /tmp
$ wget http://www.kernel.org/pub/software/scm/git/git-1.8.4.tar.gz
$ tar zxvf git-1.8.4.tar.gz
$ cd git-1.8.4
$ ./configure
$ make prefix=/usr/local all
$ sudo make prefix=/usr/local install

5:Gitのバージョン確認してにんまりして完了

最後にもう一回確認してみる。

$ git --version
$ git version 1.8.3.4 (Apple Git-47)

やった!表示された。お疲れさまでした。