アットウィキロゴ

ファイル入出力

  • コマンドライン引数    まず,変数とかファイル名とか,なんでもいいけど引数は,
    $com1=@ARGV[0];
    

   とかで受け取る.
   C言語とかと違って0から始まる.

   ちなみに標準入力は,

<STDIN>

   を使う.パイプとかで作業するときに便利.
   標準出力は,

<STDOUT>

   とする.

  • ファイル入出力    ファイル名をスクリプトに読み込んで,その後,ファイルを1行毎に読み込む処理はこんな感じ.
    $file=@ARGV[0];
    open(FH,"< $file");
    while($line=<FH>){
    print "hello";
    }
    

   $lineがなければ,$_が標準で使われる.
   ちなみに入出力といってしまったので覚えてる(よく使う)範囲で色々書いてみる.

読み込み:<
上書き:>
追加上書き:>>

   あと確か,読み書き用とかパイプ出力用とかもあった気がするけど,シェルスクリプト側で処理するので自分はあんまし使わない.

   エラー処理とかも書いてた方がよかったりするので,

open(FH,"<@ARGV[0]") ||die "ERROR!!\t@ARGV[0] not found\n";

   のようにすると,分りやすくなる.

  • 文字列・数字の結合

   ファイルをクルクルと回して読んだり,連番ファイルをリネームしたりするときに,変数やファイル名を回すことが必要になる.  シェルスクリプトでもなんでもいいが,ひとまずperlをメモ.

#number change
if($i<10){
$x = @ARGV[0] . 0 . $i;
}else{
$x = @ARGV[0] . $i;
}
$i++;
#combination
$file = $link . $x . $extension;

   各々の変数はともかくとして,文字列であっても変数であってももちろん関係ない.
   あとは$fileを用いてファイル名を読込んだり,書き込んだりできる.
   ちなみにシェルスクリプトでも似た感じにかける.

最終更新:2011年11月23日 11:18