infile$digit
から読み取っていて、 outfileに出力したいと思います。しかし、Perlスクリプトは「グローバルシンボル「$digit」には明示的なパッケージ名が必要です」というエラーを出します。ただし、グローバルに宣言すると、、この値は、 infileから抽出/読み取られた値ではなく、 outfileに出力されます。何をすべきかについて何か提案はありますか?$digit=''
これは私がそれをしている方法です:
my $digit='';
open (DATA, "</usr/infile") || die "cant open infile\n"; #file from digit has to read
while (<DATA>){
($digit)= $_=~ /\s9\s(\d+)/; #regex to capture digit '234' from ' 9 234'
if ($digit ne ""){
print "digit is $digit\n"; # this prints fine
}
}
open (FILE, ">/usr/outfile") || die "cant open outfile\n"; #file to which digit has to be finally written
print FILE "9 $digit"; #$digit takes in the value declared globally i.e. ''
close(DATA);
close (FILE);