Macbook AirでPerlは動くか?
1,はじめに
突然ですが、皆様はPerlというプログラミング言語をご存知でしょうか?
高度な正規表現のエンジンを内蔵したテキスト処理に強い言語です。
とはいえ、もう現代の開発標準からすれば、数世代前の言語なのかもしれません。
行ってしまえば、過去の開発言語です。
しかし、歴史を踏まえ、言語仕様などが固まっており、破壊的な仕様変更が行なわれにくいと言えるはずです。
ちなみに、私は一番初めのWebアプリをPerlで作りました(Perl/CGIです。Mojoとかは使っていません)。
実は、それは今でも中学校の公式サイトの裏側で動いています。
数年ぶりに訪問し、中学生の頃に作ったTwitterもどきを見せてもらった時は驚きました。
これから大きなものをPerlで作ることはないと思うのですが、
私にとってPerlは、コードを書くことで他者から感謝される、そういう貴重な経験をさせてくれた言語です。
ま、青いといえばあれですが、動かせる環境だけは、欲しい言語です。
なお、筆者はPerl全くわかりません。
まさかり投げないで・・・
2,で、動くの?
とりあえず、Perlコマンドを打ってみます。
MacBook-Air:~ jskny$ perl -v This is perl 5, version 18, subversion 4 (v5.18.4) built for darwin-thread-multi-2level (with 2 registered patches, see perl -V for more detail) Copyright 1987-2013, 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. MacBook-Air:~ jskny$
あ、動きますねこれ。
前回、Gitを入れる際に開発ツールの導入を行ったので、それに付随していたのかな。
3,じゃんけんゲームを作ります
せっかくなので、Perlでじゃんけんするゲームを作成しましょう。
作った後に記事を書いているのですが、
Macで初のプログラミングは、SwiftではなくPerlになりましたね、これ。
ぼく、いけいけオサレエンジニアなんで。
# じゃんけんゲーム # 0 : ぐー # 1 : ちょき # 2 : ぱー # # 2019/09/07 # jskny use strict; use warnings; use utf8; # コンピューターの手を返す # retval : int (0-2) sub CalcHandCPU { my @param = @_; return (int(rand(3))); } # 勝ち負け判定 # param1 : user hand (0-2) # param2 : cpu hand (0-2) # retval # 0 : draw # 1 : user win # 2 : user lose sub Judge { my @param = @_; # 神が作成した判定式を使用する # 以下のサイトを参考にした。 # https://staku.designbits.jp/check-janken/ my $result = ($param[0] + $param[1] + 3) % 3; return ($result); } # 情報通知 sub OutInfo { print "Select your hand.\n"; print " 0 : gu-\n"; print " 1 : tyoki\n"; print " 2 : pa-\n"; print "\n"; print "if you end this game, you input e.\n"; print " > "; } # 主処理 sub Main { my $userInput = ""; my $cpuHand = 0; my $tmp = 0; OutInfo(); while ($userInput ne "e") { $userInput = <STDIN>; chomp($userInput); $cpuHand = CalcHandCPU(); $tmp = Judge($userInput, $cpuHand); print "Your input : " . $userInput . "\n"; print "CPU hand : " . $cpuHand . "\n"; print "Your : "; if ($tmp eq 0) { print "draw.\n"; } elsif ($tmp eq 1) { print "win.\n"; } elsif ($tmp eq 2) { print "lose\n"; } print "\n"; OutInfo(); } print "see you !\n"; return (0); } # 主処理呼び出し Main(); exit(0);
まぁ簡単なゲームですね。
ドヤァ(・A・)
ゲームが動いたで
4,参考サイト
じゃんけんの判定式として、以下の神様の頭脳を使わさせていただきました。感謝
最近のコメント