sironekotoroの日記

Perl と Mac の初心者の備忘録

独習Perl 第2版 第8章 ファイル

8.1 ファイルのオープンとクローズ

  • おなじみファイルハンドル
  • open (file-handle , "filename")
  • close (file-handle)
  • ファイル名の直前に>>,>,<を付ける事でモードを変える

8.2 特殊なファイルハンドル

  • STDIN
  • STDOUT
  • STDERR

8.3 ファイルの操作

  • rename
  • unlink
  • ファイルテスト演算子
  • chmod
  • stat

8.4 ディレクトリの操作

  • mkdir
  • chdir
  • rmdir
  • opendir
  • readdir
  • closedir

8.5 外部プログラムの実行とfork

  • system
  • exec プログラム実行と同時に現在のスクリプトを終了する
  • fork
use strict;
use warnings;
use Data::Dumper;

my $pid;
$| = 1;

if ( $pid = fork() ) {
    for ( my $i = 1; $i <= 3; $i++ ) {
        print "親プロセス:$pid\n";
        sleep(3);
    }
    waitpid( $pid, 0 );
}
elsif ( defined $pid ) {
    for ( my $i = 1; $i <= 5; $i++ ) {
        print "子プロセス:$pid\n";
        sleep(1);
    }
}
else {
    die "forkできません :$!\n";
}
  • if ( $pid = fork() )は分岐条件作りつつ、forkを実行しているってことなんかな。