Скрипт Perl не возвращается как строки - PullRequest
0 голосов
/ 06 мая 2019

Я пишу сценарий Perl, который позволяет его пользователю искать каждый фильм, в котором находится актер / актриса. Я использую модуль Text :: CSV для получения данных из файла CSV. В этом CSV-файле титры фильма представлены одной большой строкой, поэтому для написания этого сценария необходимо использовать сопоставление с шаблоном, что я и пытаюсь, однако в настоящее время сценарий не выводит фильмы при запуске с использованием имени, которое, как я знаю, существует в данные. Это всего лишь часть моего общего кода, другие функции, которые возвращают такие данные, как высокодоходные фильмы, и тому подобное, опущены. Используемые мной данные поступают из двух отдельных файлов: один содержит каждый фильм с первичным ключом идентификатора и его кредитами, а другой содержит первичные ключи идентичного идентификатора, а также другие данные, включая название фильма.

$row->[2] is where the ID is contained in @creditsRows,
$mRow->[5] is where the ID is contained in @moviesRows,
$mRow->[20] is where the movie's title is contained in @moviesRows

Я пытаюсь вставить имена фильмов в массив @movies, когда шаблон соответствует.

my $act;
my $id;
print("Enter an Actor/Actress:\n");
$act = <STDIN>;
my @movies;


for my $row (@creditsRows) {

    if ($row->[0] =~ /$act/) {
        $id = $row->[2];

        for my $mRow (@moviesRows) {

            if ($id == $mRow->[5])
            {
                my $isMovie = $mRow->[20];
                push @movies, $isMovie;

            }

        }


    }


}

print @movies;
...