Como passar um array e uma string como argumentos para uma função?

Porque não consigo encontrar uma maneira conveniente de verificar se$str é em@array, Eu estou tentando fazer um eu mesmo, mas não está funcionando.

Eu acho que é por causa da confusão de array e string. Continua dando0 para$str. Por favor, deixe-me saber como consertá-lo.

use 5.010;
use strict;
use warnings;

sub ifin {
    my (@array, $str) = @_;
    for my $i (@array) {
        if ($i eq $str) {
            return 1;
        }
    }
    return 0;
}

my @f = (1, 2, 3, 4);
my $k = 1;
print ifin(@f, $k);

questionAnswers(5)

yourAnswerToTheQuestion