Top/Lang/Perl

perldoc

システムにおける各データ長を調べる

1sec 未満の sleep

Perlでハッシュ

hashを宣言(?)する

my %aaa = ( 'ip' => '192.168.0.1',
            'host' => 'foo' );

hashの中身を参照する

$aaa{'ip'}

hashを配列にする

hash の配列を宣言時に初期化

配列の中身を見る

配列に入れたhashの中身を更新する

hashを別のhashにコピー

hash の中身を全て取り出す

参考URI

配列要素

基本事項

sort

挿入・削除

※arrayの要素がhashであっても大丈夫。

配列の初期化

多次元配列

時間関数

経過日数の計算

秒未満の時間を取得する

外部プログラム呼出

返り値を得たい場合

$ret = system ("呼び出すコマンド");

呼び出したコマンドのプロセスに入力値を与えたい場合

if (!open (PROG, "| 呼び出すコマンド")) {
    print "open error\n";
    return;
}
print PROG "送りたいデータ";
・・・・
close (PROG);    # 最後の後始末

呼び出したプログラムの出力を得たい場合

if (!open (PROG, "呼び出すコマンド |")) {
    print "open error\n";
    return;
}
my (@out) = <PROG>;     # 複数行の出力も全て、配列 @out に格納する。
close (PROG);

File I/O

ファイルの copy, rename

ディレクトリの読み込み

ファイルテスト

演算子説明
-r読み込み可能
-w書き込み可能
-x実行可能で
-o実行者とファイルの所有者が同一
-R実uid/gidで読み込み可能
-W実uid/gidで書き込み可能
-X実uid/gidで実行可能
-O実uidとファイルの所有者が同一
-eファイルが存在する
-zファイルサイズが 0
-sファイルサイズが 0 以外(大きさを返す)
-fファイルは通常ファイル
-dファイルはディレクトリ
-lファイルはシンボリックリンク
-pファイルは名前付きパイプ
-Sファイルはソケット
-bファイルはブロック型の特殊ファイル
-cファイルはキャラクタ型の特殊ファイル
-tファイルハンドルが tty としてオープンされている
-uファイルの setuid ビットがセットされている
-gファイルの setgif ビットがセットされている
-kファイルの sticky ビットがセットされている
-Tファイルがテキストファイル
-Bファイルがバイナリファイル
-Mperl起動時における、ファイルの更新時刻からの日数
-Aperl起動時における、ファイルの参照時刻からの日数
-Cperl起動時における、ファイルの作成時刻からの日数

カレントディレクトリの取得

カレントディレクトリの変更

ファイル属性の取得

Read/Write

簡単なread

if (!open (FILE_HANDLE, $file_name)) {
    die "file open error: $file_name\n";
}

my (@lines) = <FILE_HANDLE>;  # ファイルの全ての行を一気に @lines に読み出し
close (FILE_HANDLE);          # 読みだしたので、close
foreach $line (@lines) {
    # 処理を記述
}

大容量ファイルも読み込めるread

if (!open (FILE_HANDLE, $file_name)) {
    die "file open error: $file_name\n";
}

while ($line = <FILE_HANDLE>) { # 1行ずつ読み出して逐次処理する。
    # 処理を記述
}
close (FILE_HANDLE);            # 読みだしたので、close

文字列処理

split() : 区切り文字によるフィールド分割

文字列を1文字づつ処理する

シングルクォートを含む文字列の処理

呼び出し元関数名を取得する

コメント

pack / unpack

pack


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-05-20 (土) 14:34:30