宣言したほうが良いのかもしれませんが、宣言しなくても動くと思います。
前提として、G82のスクリプトを単独で実行した結果ファイルに
lazerのスクリプトを実行すると想定通りに変換されるということでよいでしょうか。
試しに、以下の文をPerlスクリプトのファイルにしてみてください。
(まがら様の投稿を受けて一部修正しました。ありがとうございます。
1行目のみそのまま投稿できなかったため、
1行目のperの後のLを小文字に置き換えてください)
#! /usr/bin/perL
$pre_file= $ARGV[0];
$out_file= $ARGV[1];
open(IN,$pre_file);
open(OUT,">$out_file");
while(<IN>){
#G82の処理の部分を想定
push(@nc,$_);
}
close(IN);
print "[before]\n"; ##
print @nc; ##
print "\n\n"; ##
print "[after]\n"; ##
for(my $i=0; $i < $#nc; $i++){
#lazerの処理の部分を想定
$line= "N" . ($i+1) . " " . $nc[$i];
print OUT $line;
print $line; ##
}
close(OUT);
そのPerlスクリプトをコマンドプロンプトで実行してみてください。
(なお、## の行はコマンドプロンプト上に出力するためのものです )
perl␣<スクリプトファイルのパス>␣<入力ファイルパス>␣<出力ファイルパス>
実行に成功すれば、いくつかのヒントになると思います。
通報 ...