このプログラミング・クイック・チェックリストをダウンロードして、Perlのパワーを学び始めましょう。
1988年初頭にリリースされたPerlは、スクリプト言語と思われがちですが、オブジェクト指向プログラミングも可能なポストモダンプログラミング言語です。 、GUIフレームワーク、Rakuと呼ばれる派生言語、そして活発で熱狂的なコミュニティを持つ成熟した言語です。開発者たちは、その柔軟性に誇りを持っています。開発者のラリー・ウォールによると、Perlは特定のプログラミングスタイルをユーザーに押し付けることはなく、たいていのことは複数の方法で行うことができます。
Perlは非常に堅牢で、かつて広く使われていたという事実が、新しいプログラマーが試すのに最適な言語です。
Perl 基本
LinuxとmacOSでは、すでにPerlがインストールされています。Windowsでは、 Perlのウェブサイトから ダウンロードしてインストールしてください。
Perl
Perl のソースコードの基本単位は、.NET Framework を返すものです。
の値を返す式です。式は a の値を返し、a は文字 a を返します。
式はもっと複雑になります。a + $b という式には、変数と、数学演算子であるプラス記号が含まれます。
Perl ステートメント
Perl のステートメントは式で構成されています。各ステートメントはセミコロンで終了します。
例えば
$c = $a + $b;
独自のPerlステートメントを実行するには、ターミナルを開いて次のようにタイプします:
$ perl -e 'print ("Hello Perl ");'
Perlステートメントブロック
Perlのステートメント・ブロックは中括弧と組み合わせることができます。Pythonは空白で範囲を定義し、LISPは括弧を使い、CとJavaは中括弧を使います。
変数
コンピュータにとって変数は便利なものではなく、必要なものです。変数とは、コンピュータがデータを識別し、追跡するための手段です。
Perlでは、変数名とその内容を宣言して変数を作成します。
Perlでは、変数名の前には必ずドル記号が付きます。
これらの単純な文は、"Hello "と "Perl "という文字列を含む変数$varを作成し、その変数の内容をターミナルに表示します:
$ perl -e '$var = "hello perl"; print ("$var ");'
プロセス制御
perlは特定の条件をテストすることができ、その条件に基づいてperlが処理方法を決定します。構文はCやJavaに似ています:
my $var = 1;if ($var == 1) {print("Hello Perl ");elsif ($var == 0){print("1 not found");print("Good-bye");
Perlにもif文の短縮形があります:
$var = 1;print("Hello Perl ") if ($var == 1);
関数とサブルーチン
コードをできるだけ再利用することは、プログラミングの習慣として有益です。この習慣はエラーを減らし、プログラムを保守しやすくし、プログラムのロジックを単純化し、他の開発者が理解しやすくします。
Perl では、入力を受け取り出力を返す , を作成することができます。サブルーチンを作成するには、キーワード sub を使用し、その後に任意のサブルーチン名とコード・ブロックを続けます:
#!/usr/bin/env perluse strict;use warnings;sub sum {my $total = 0;for my $i(@_){$total += $i;return($total);print &sum(1,2), " ";
もちろん、Perlには自分で作る必要のないサブルーチンがたくさんあります。Perlに組み込まれているものもありますし、コミュニティ・ライブラリが提供しているものもあります。
Perlでのスクリプティング
Perlはコンパイルすることも、インタプリタ型のスクリプト言語として使うこともできます。特にPythonや シェルスクリプトに慣れている場合は、後者の方が使いやすいでしょう。
Perlで書かれた簡単なサイコロ転がしスクリプトです。一通り読んで、ついていけるかどうか試してみてください。
#!/usr/bin/env perluse warnings;use strict;use utf8;binmode STDOUT, ":encoding(UTF-8)";binmode STDERR, ":encoding(UTF-8)";my $sides = shift ordie " You must provide a number of sides for the dice. ";sub roller {my ($s) = @_;my $roll = int(rand($s));print $roll+1, " ";roller($sides);
最初の行は、スクリプトの実行に使用する実行ファイルを POSIX 端末に伝えます。
次の5行は、定型的なインクルードと設定です。use warnings設定は、Perlにエラーをチェックし、見つかった問題についてターミナルに警告するように指示します。use strict設定は、Perlにエラーが見つかった場合にスクリプトを実行しないように指示します。
この2つの設定は、コードのエラーによって問題が発生したときに、それを発見するのに役立ちます。
スクリプトの主要部分は、ターミナルからスクリプトが起動されたときにスクリプトに供給される POSIX 分析することから始まります。この場合、期待される引数は仮想ダイスに必要な面の数です。perlはこれをスタックとして扱い、shift関数を使用して変数$sidesに代入します。
subキーワードで作成されたrollerサブルーチンは、Perlのrand関数を使って引数の数までの擬似乱数を生成します。つまり、このプログラムでは、6面体のダイスは6を出すことはできませんが、0を出すことはできます。これは、コンピュータやプログラマーにとっては問題ありませんが、ほとんどのユーザーにとっては混乱を招くため、バグとみなすことができます。
サブルーチンに渡された引数を参照する場合、関数呼び出し時に括弧で囲まれたすべてを含む配列である特殊変数@_を参照することになります。しかし、配列から値が取り出されると、データはスカラーに変換されます。
サブルーチンは呼び出されても実行されないので、スクリプトの最後の行は、コマンドの引数を関数の引数として受け取り、カスタムローラー関数を呼び出します。
ファイルを dice.plとして保存し、実行可能としてマークしてください:
$ chmod +x dice.pl
最後に、乱数を選択するための最大数を提供するために実行してみてください:
$ ./dice.pl 20$ ./dice.lisp 20$ ./dice.lisp 20
問題ありません!
Perlクイックリファレンス
Perlは面白くて強力な言語です。Perlがデフォルトのスクリプト言語になってから、Python、Ruby、Goといった新興言語が注目を集めていますが、Perlは決して弱くありません。むしろ、これまで以上に優れており、明るい未来があります。
次回は、シンプルな配信方法でより柔軟な言語をお探しなら、Perlを試して、ください!





