$com1=@ARGV[0];
とかで受け取る.
C言語とかと違って0から始まる.
ちなみに標準入力は,
<STDIN>
を使う.パイプとかで作業するときに便利.
標準出力は,
<STDOUT>
とする.
$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を用いてファイル名を読込んだり,書き込んだりできる.
ちなみにシェルスクリプトでも似た感じにかける.