構文 |
|
open ファイル・ハンドル, ファイル名 open ファイル・ハンドル, モード, ファイル名 open ファイル・ハンドル, モード, ファイル名, コマンドライン・オプション open ファイル・ハンドル, モード, インメモリファイルのためのリファレンス open ファイル・ハンドル |
返り値 |
|
ファイルのオープンに成功した場合に真 |
説明
- 指定したファイルをオープンしてファイル・ハンドルに結びつけます。モードがパイプモードの場合,ファイル名で指定したコマンドを実行します。
- パイプモードの場合,コマンドライン・オプションを渡せます。
- 第三引数がインメモリファイルのためのリファレンスの場合,インメモリファイルを利用できます。
- モードには(表)の値を指定できます。
< | 読み込み |
> | 上書き |
>> | 追加書き込み |
+< | 読み書き両用(既存ファイルがない場合エラー) |
+> | 読み書き両用(既存ファイルがある場合上書き) |
+>> | 読み書き両用(既存ファイルがある場合追記) |
|- | 出力をコマンドに渡す(パイプモード) |
-| | コマンドの出力を受け取る(パイプモード) |
使用例
#!/usr/bin/perl
use strict;
use warnings;
my $filename = 'sample.txt';
open my $fh, "<", $filename or die "$!:$filename";
while (my $line = <$fh>) {
print $line;
}
close $fh;
#!/usr/bin/perl
use strict;
use warnings;
my $filename = 'date.txt';
open my $fh, ">>", $filename or die "$!:$filename";
print $fh scalar(localtime), "\n";
close $fh;
#!/usr/bin/perl
use strict;
use warnings;
my $filename = 'output.txt';
open my $fh, "> $filename" or die "$!:$filename";
print $fh "Hello, world!\n";
close $fh;
#!/usr/bin/perl
use strict;
use warnings;
my $filename = 'data.txt';
open FH, "<", "$filename" or die "$!:$filename";
while (my $line = <FH>) {
print $line;
}
close FH;
#!/usr/bin/perl
use strict;
use warnings;
my $in_filename = 'in.txt';
my $out_filename = 'out.txt';
open my $in, "<:utf8", $in_filename or die "$!:$in_filename";
my @lines = <$in>;
close $in;
my $num = 0;
open my $out, ">:utf8", $out_filename or die "$!:$out_filename";
foreach my $line (@lines) {
$num++;
printf $out "%4d: %s", $num, $line;
}
close $out;
#!/usr/bin/perl
use strict;
use warnings;
open my $fh, '-|', 'netstat' or die $!;
while (my $line = <$fh>) {
print $line;
}
close $fh or die $! ? "Error:$!"
: "Status:$?";