perlいくつかのファイル操作例

2974 ワード

perlが最も多く使われているところはファイル処理でも、以下にperlファイル操作のいくつかのものをまとめ、具体的な例があり、以下の例を通じて、perlファイル操作に対する理解を強化します.
ファイルの削除
unlinke関数(unlink$file,unlink$file 1,$file 2,$file 3など)を使用する
ファイルを開く
3つのパラメータの形式でファイルを開くと、モードとファイル名の区別が非常に容易になり、perl 5.6以降のバージョンではサポートされています.
 
  
#Open the 'txt' file for reading
open FH, '', "$file_name.txt" or die "Error:$!n";
#Open the 'txt' file for appending. Creates the #file_name if it doesn't already exist
open FH, '>>', "$file_name.txt" or die "Error:$!n";
#Open the 'txt' file for a 'read/write'. #Will not create the file if it doesn't #already exist and will not delete/overwrite #a pre-existing file of the same name
open FH, '+', "$file_name.txt" or die "Error:$!n";
#Open the 'txt' file for a 'read/append'. Will create #the file if it doesn't already exist and will #not delete/overwrite a pre-existing file #of the same name
open FH, '+>>', "$file_name.txt" or die "Error:$!n";

ファイル全体を一括して読み込む
<>を使用してスカラー環境で次の行を読み込み、リスト環境で次の行をすべて読み込みます.$/は行区切り記号で、デフォルトは改行記号です.まず$/を変更します.これにより、スカラー環境ですべてのローを一度に読み込むことができます(ローの概念はなくなり、ファイル全体を読み込むことになります).リストですべてのローを読み込んでからすべてのローをつなぎ合わせることもできますが、その速度は遅いです.使い終わったら$/を変更してください.
 
  
#!/usr/bin/perl
use strict ;
use warnings ;
sub test{
    open FILE, '     my $olds = $/ ;
    $/ = undef ;
    my $slurp =  ;
    print $slurp, "n" ;
    $/ = $olds ;
    close FILE;
}
&test() ;

また、localキーを使用して$/をローカル変数に設定することもできます.これにより、役割ドメインから飛び出した後、$/は元の値に戻ります.
 
  
#!/usr/bin/perl
use strict ;
use warnings ;
sub test{
    local $/ ; #??? local $/ = undef ;
    open FILE, '     my $slurp =  ;
    print $slurp, "n" ;
}
&test() ;

一番いい方法はモジュールを使うことです.自分で書くより安全です.File::Slurp、IO::Allでもいいです.
ファイルを開くには二重引用符を使用します.
Openファイルの場合、ファイル名に変数が置換されている場合は、変数の補間を無視するため、単一引用符ではなく二重引用符を使用することが望ましい.
 
  
open FILE " open FILE '

test, , , ?

, , *


sub main {
    open FILE, '+     &test(*FILE);
    close FILE;
}

, open my $FILE

sub main {
    open my $FILE, '+     &test($FILE);
    close $FILE;
}