В данный момент я изучаю Perl, я хотел попросить помощи, чтобы ответить на это упражнение. Моя цель состоит в том, чтобы отобразить значение хеша PartID 1,2,3, в примере которого выводятся значения лота, пластины, программы, версии, имен тестов, номеров тестов, значений hilimit, lolimit и partid.
пример данных
lot=lot123
wafer=1
program=prgtest
version=1
Testnames,T1,T2,T3
Testnumbers,1,2,3
Hilimit,5,6,7
Lolimit,1,2,3
PartID,,,,
1,3,0,5
2,4,3,2
3,5,6,3
Это мой код:
#!/usr/bin/perl
use strict;
use Getopt::Long;
my $file = "";
GetOptions ("infile=s" => \$file ) or die("Error in command line arguments\n");
my $lotid = "";
open(DATA, $file) or die "Couldn't open file $file";
while(my $line = <DATA>) {
#print "$line";
if ( $line =~ /^lot=/ ) {
#print "$line \n";
my ($dump, $lotid) = split /=/, $line;
print "$lotid\n";
}
elsif ($line =~ /^program=/ ) {
my ($dump, $progid) = split /=/, $line;
print "$progid \n";
}
elsif ($line =~ /^wafer=/ ) {
my ($dump, $waferid) = split /=/, $line;
print "$waferid \n";
}
elsif ($line =~ /^version=/ ) {
my ($dump, $verid) = split /=/, $line;
print "$verid \n";
}
elsif ($line =~ /^testnames/i) {
my ($dump, @arr) = split /\,/, $line;
foreach my $e (@arr) {
print $e, "\n";
}
}
elsif ($line =~ /^testnumbers/i) {
my ($dump, @arr1) = split /\,/, $line;
foreach my $e1 (@arr1) {
print $e1, "\n";
}
}
elsif ($line =~ /^hilimit/i) {
my ($dump, @arr2) = split /\,/, $line;
foreach my $e2 (@arr2) {
print $e2, "\n";
}
}
elsif ($line =~ /^lolimit/i) {
my ($dump, @arr3) = split /\,/, $line;
foreach my $e3 (@arr3) {
print $e3, "\n";
}
}
}
Пожалуйста, помогите добавить мой код вдисплей Partid 1,2,3 хеш.