Я пытаюсь разобрать достаточно простой файл пар полей и значений.Поэтому некоторые поля меня не интересуют, и я хочу пропустить
Так что в моем коде "play" у меня была такая статическая вещь: следующая, если $ field = ~ m / fieldToIgnore1 | fieldToIgnore2 /;
... затем я расширил этот массив и все еще счастлив
print "== using ~~ ==\n";
foreach my $field (@fields) {
next if $field ~~ @foni;
print "$field\n";
}
(fnoi == поля, не представляющие интереса)
Но когда я перенесу это обратно в свой не-установка игры не работает.Теперь в пьесе я просто зацикливался на
my @fields = ("field1", "field2");
my @foni = ("fieldToIgnore1", "fieldToIgnore1");
. В своем собственном коде я перебираю каждую строку и вынимаю строки, которые установлены как строки значения поля, а затем раздвигаю поле в скаляр... следовательно, почему я подумал, что это будет той же идеей, что и мой игровой код - но это не похоже на
while ( <$infile> ) {
if ( /^PUBLISH:/ ) {
( $symbol, $record_type ) = ( $1, $2 );
print "symbol is: [$symbol]\n";
} else {
my ( $field, $value ) = split(/\|/);
next unless $value;
print "field is: [$field]\n";
print "value is: [$value]\n";
$field =~ s/^\s+|\s+$//g;
$value =~ s/^\s+|\s+$//g;
print "... field is: [$field]\n";
print "... value is: [$value]\n";
## ADD FIELD SKIPPING LOGIC HERE