perl初心者です。ハッシュ配列の値から grep しようとしています。試してみると、初期化されていない値のエラーが発生する理由を誰かが説明できますか
#!/usr/bin/perl
use strict;
use warnings;
my %families = (Flintstone => [ qw(Pebbles) ],
Simpson => [ qw(Bart Lisa Maggie) ],
Keaton => [ qw(Alex Mallory Jennifer Andy) ]);
my $user = 'Mary';
foreach my $name (keys %families)
{
print "$name has @{$families{$name}} \n";
if (grep /$user/,@{families{$name}})
{
print "User $user found \n"
}
else
{
print "User $user not found";
}
}
更新: ありがとうございます。$name を修正しました。ただし、grepはうまくいかないようです。つまり、$user を Bart に変更しても、User Bart が見つかりません。