Я пишу сценарий 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;