Perl
1987年、Larry Wallが開発したプログラミング(LL)言語。
2018年現在、ver5.6.xとver6系がある。
しかしver6系はあまり人気も支持も少ない印象で、当分は5.x系が中心のままだと思われる。
ウェブサイトがホームページと呼ばれていたWindows95系当時の頃から動的サイトを作れる
言語として各社で利用され、2ch(現5ch)やmixiもPerlで作られていた。
メニュー
公式リファレンス
基本的文法
 ・シェバン
 LL言語共通にあるシェバン(shebang)を付ける。
 シェバンには実行ファイルを直接指図する書式と、環境変数を指図するタイプがある。
 推奨されるのは後者の方。これは実行ファイルに指図した場合、環境によって動かなくなる
 ケースがあるため。
 ただソースを移すとき変わっていることは殆どなく、実際のところどちらでもよい。
#!/usr/bin/perl
package pkgProject;
 
use strict;
use warnings;
use DBI;
 
#外部モジュール読込
eval `../mod/sidemodule.pl`; die $@ if $@;
 
#コメント
=pod
コメント1
コメント2 でも使われてるところ見たことない
=cut
 
$hensu;            #変数定義
$hensu_atai = 123; #初期値設定
my $hensu_my;      #スコープ有り
my($a,$b,%c);      #複数
my $hensu_hairetu = (123,'abc',%c); #混在
 
#外部modルーチン
subroutine_func(hikisu);
 
外部モジュールの利用
使い方のパターンが多いのでコーディングルールに配慮が必要
do `sidemod.pl`; die $@ if $@; 
use lib '/home/perl/mod/';require sub_func; 
use lib '/home/perl/mod/';require subs::sub_func; 
BEGIN { unshift @INC, '/home/your/par/currnet/'; } require subs::sub_func; 
__END__
特殊変数
		| $0 | スクリプトのコマンド名 | 
		| $! | エラー番号、もしくはエラー文字列 | 
		| $? | 外部コマンドなどを実行した際の最後のステータス値 | 
		| $@ | 直前のevalで発声した例外メッセージ | 
		| $n | パターンマッチ時にn番目の()にマッチした文字列 | 
		| $| | 出力のバッファリング、0以外でバッファリングが無効になる | 
		| $. | ファイルハンドルの現在ある位置の行数 | 
		| $/ | 入力時の区切り文字。デフォルトは改行文字。 | 
		| $, | print使用時のセパレーター | 
		| $" | print "@list_context"とした際の区切り文字 | 
		| $$ | プロセスのpid | 
		| @ARGV | スクリプトに渡された引数 | 
		| $^D | デバッグフラグの値 | 
		| $^E | OS特有のエラーメッセージ | 
		| $^T | スクリプト実行時刻(epoch time) | 
		| %ENV | 環境変数 | 
		| %INC | インクルードされたライブラリなどを記録 | 
		| %SIG | シグナルハンドラを設定するためのハッシュ | 
		| @INC | ライブラリの検索対象ディレクトリ | 
argc は argument count(引数の個数)
argv は argument vector(引数の配列)
比較処理
		| 数値 | 文字列 | 意味 | 
		| $x == $y | $x eq $y | 等しい (equal) | 
		| $x != $y | $x ne $y | 等しくない (not equal) | 
		| $x < $y | $x lt $y | $x は $yより小さい (less than) | 
		| $x > $y | $x gt $y | $x は $yより大きい (greater than) | 
		| $x <= $y | $x le $y | $x は $y以下 (less than equal to) | 
		| $x >= $y | $x ge $y | $x は $y以上 (greater than equal to) | 
		| $x <==> $y | $x cmp $y | $x と $yが等しければ0&br;$x より $yが小さければ-1&br;$x より $yが大きければ1&br;(compare)&br; | 
最終更新:2018年04月19日 23:30