Как передать один массив и одну строку в качестве аргументов функции?

Потому что я не могу найти удобный способ проверить,$str в@arrayЯ пытаюсь сделать это сам, но это не работает.

Я предполагаю, что это из-за перепутывания массива и строки. Это продолжает давать0 в$str, Пожалуйста, дайте мне знать, как это исправить.

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);

Ответы на вопрос(5)

Ваш ответ на вопрос