Perl에서 해시 참조 목록이 있고 각 입력란에 특정 입력란이 있어야한다고 가정 해 봅시다. foo
foo
의 모든 매핑을 포함하는 목록을 만들고 싶습니다. foo
을 포함하지 않는 해시가 있으면 프로세스가 실패해야합니다.Perl, 모든 해시 값 가져 오기
@hash_list = (
{foo=>1},
{foo=>2}
);
my @list =();
foreach my $item (@hash_list) {
push(@list,$item->{foo});
}
#list should be (1,2);
Perl에서 좀 더 간결한 방법이 있습니까?
매핑 목록을 만들지 않고 각각의 해시'foo' 값으로 구성된 목록을 만들고 있습니다. 코드 예제는 '프로세스 실패'와 아무 관련이 없으므로 단지 더 간결한 것을 요구하는 것이 아닙니다. –
일반적으로 :'foreach ... {... push ..} '를 할 때마다 map이나 grep을 사용하여 코드를 짧고 단순하게 만들 수 있습니다. – Ether