。このスクリプトは以前はX32bitsで動作しています。しかし、私はそれのようにエラーを持った理由Perlの - 私は窓X64bitsシステムにおける私のスクリプトのカントの仕事である理由お願いしたいと思いX64bitsシステムとX32bitsシステム
にしても出力がX64bitsシステムで発生していないがあり、「入力ファイルを開くことができません」いけません。
#!/usr/bin/env perl
use strict;
use warnings 'all';
my $directory = 'D:/Script_Code/Perl/Test/Datalog/Unit_80';
my $testna = 'FW OTP Check UVLO VIN Voltage';
my $testpin = 'vrect';
my $testnb = 'FW OTP Checksum Readback';
my $testnc = 'FW OTP Checksum Difference';
my $testnd = 'FW Checksum Pat Pin Fail Count';
my @header = ('Unit#', 'Test_Name', 'Pin_Name', 'Measure_Data', 'Upper_limit');
my $format = "%-8s %-40s %-15s %-15s %-1s\n";
my $outfile = "$directory.sdc";
open (OUT, ">$outfile");
open (INF, "$directory") || die (" can not open input file \n");
printf $format, @header;
printf OUT $format, @header;
while (<INF>) {
if (/Device#:\s*(\d+)/)
{ $unit = $1;
next; }
chomp;
my @fields = split /\s{2,}/;
if ($fields[2] eq $testna and $fields[3] eq $testpin) { # TEMP_SENSE_VBE
printf $format, $unit, $fields[2], $fields[3], $fields[5];
printf OUT $format, $unit, $fields[2], $fields[3], $fields[5];
}
if ($fields[2] eq $testnb) { # TEMP_SENSE_VBE
printf $format, $unit, $fields[2], $fields[3], $fields[5];
printf OUT $format, $unit, $fields[2], $fields[3], $fields[5];
}
if ($fields[2] eq $testnc) { # TEMP_SENSE_VBE
printf $format, $unit, $fields[2], $fields[3], $fields[5], $fields[6];
printf OUT $format, $unit, $fields[2], $fields[3], $fields[5], $fields[6];
}
if ($fields[2] eq $testnd) { # TEMP_SENSE_VBE
printf $format, $unit, $fields[2], $fields[3], $fields[5], $fields[6];
printf OUT $format, $unit, $fields[2], $fields[3], $fields[5], $fields[6];
}
}
close (INF) || die "cannot close input file !!";
close (OUT);
、個別にそれらを求めます。 1つの質問に対する2つの正解を同時にチェックすることはできません。 – choroba
私は、これは64ビットのプラットフォーム機能しない何らかの理由が表示されません。エラーメッセージが表示されますか?あなたの質問を編集してコードを正しくインデントしてください。読みにくいです。 – simbabque
@choroba私は1つの質問にそれを作りました。 – cs87