Notice
Recent Posts
Recent Comments
준호씨의 블로그
perl - Hash안에 array넣기. arrays in hashes 본문
반응형
perl에서 array를 사용하는 방법은 다음과 같습니다. () 안에 값들을 넣어주면 됩니다. 출력 편의상 encode_json 함수를 사용했습니다.
my @arr = ("hello", "world", "nice", "to", "meet", "you");
print encode_json(\@arr);
# ["hello","world","nice","to","meet","you"]
만약 앞서 선언된 배열을 hash안에 넣고 싶다면 다음과 같이 할 수 있습니다.
my @arr = ("hello", "world", "nice", "to", "meet", "you");
my %data = (
id => "myid",
data => \@arr
);
print encode_json(\%data);
# {"id":"myid","data":["hello","world","nice","to","meet","you"]}
hash안에서 바로 배열을 작성하려면 어떻게 해야 될까요?
my %data = (
id => "myid",
data => ["hello", "world", "nice", "to", "meet", "you"]
);
print encode_json(\%data);
# {"id":"myid","data":["hello","world","nice","to","meet","you"]}
() 괄호 대신 [] 괄호를 사용하면 됩니다. []는 Anonymous Array(익명 배열)을 선언할 때 사용하는 괄호입니다.
다른 언어들은 보통 배열을 사용할 때 [] 괄호를 사용하는데요. perl에서는 특이하게 () 괄호를 사용합니다. 그리고 [] 괄호는 익명 배열을 사용할 때 사용하고요. hash안에서 배열을 선언할 때처럼 별도의 이름을 정의하지 않고 바로 배열을 사용할 때는 [] 괄호를 사용합니다.
참고. anonymouse references
참고로 익명 배열을 변수로 분리하면 다음과 같습니다.
my $anon_array = [ "hello", "world", "nice", "to", "meet", "you" ];
my %data = (
id => "myid",
data => $anon_array
);
print encode_json(\%data);
# {"id":"myid","data":["hello","world","nice","to","meet","you"]}
그리고 %data로 익명 hash로 바꾸면 다음과 같습니다. 익명 hash는 () 괄호 대신 {} 괄호를 사용합니다.
my $anon_array = [ "hello", "world", "nice", "to", "meet", "you" ];
my $data = {
id => "myid",
data => $anon_array
};
print encode_json($data);
# {"id":"myid","data":["hello","world","nice","to","meet","you"]}
반응형
'개발이야기' 카테고리의 다른 글
MySQL - read only 모드 확인 방법. 설정 방법 (0) | 2021.05.09 |
---|---|
JUnit5 - 특정 테스트를 여러번 돌리고 싶다면? @RepeatedTest (0) | 2021.05.07 |
perl - HTTP::Tiny 로 http POST request 날리기. form 데이터 사용 (0) | 2021.04.30 |
MacOSX - gyp: No Xcode or CLT version detected! 에러 해결 (0) | 2021.04.26 |
유닛테스트 코드의 변수명 sut의 정체. SUT - system under test (1) | 2021.04.16 |
Comments