배열
배열
여러 개의 값들을 순서에 따라 저장하는 데이터구조
배열의 요소 하나하나는 일반변수와 동일
목록(List)
여러 변수의 값을 묶어서 저장 할 수 있도록 만든 구조
목록은 괄호로 싸여있고 쉼표로 각각의 값을 구분
Ex)($num1,$num2) = (1,2);
배열의 처리는 병렬처리
($Num1,$num2) = ($num2,$num1) <- 이런식으로 swap 가능.
배열의 사용(1)
- list 를 이용하여 여러 요소를 연속해서 저장
- @array = (11..20); #배열에 11~20까지 저장
- 배열의 전체의 길이를 저장
- @array_length = @array 배열요소의 값(개수)이 저장됨
- 배열의 모든 요소 출력
- Print "(@array)";
- 배열의 특정요소 하나를 꺼낼 때는
- $array[0]
- 배열의 특정요소 몇 개를 꺼낼 때는
- @array[1,3,5]
배열의 사용(2)
배열의 첨자 사용
- 배열의 첨자는 0부터 시작
- 마지막 요소를 거꾸로 세어가는 것도 가능
- Ex) $a[-1] = 배열의 가장 뒤의 값 출력
- 배열을 변수에 대입
- @arr[0,1] = (10,20);
- $value = @array
- 배열 첨자의 최대값 구하기
- $#a ;
- 배열 값을 첨가할시
- @arr의 길이는 4일때
- @arr[4,5] = (4,5)
배열에 관련된 함수
함수 및 사용법 |
설명 |
배열 = sort 배열 |
지정한 배열의 값을 오름차순으로 정렬 하여 다른 배열에 저장 |
배열 = reverse 배열 |
지정한 배열의 값을 반대로 정렬해서 저장 |
배열 = pop 배열 |
지정한 배열의 마지막 요소를 추출해서 그 값을 변수에 저장 |
Push 배열, 변수 |
배열의 마지막 요소에 변수의 값을 추가로 저장 |
변수 = shift 배열 |
배열의 첫 요소를 변수에 저장하고 요소는 앞으로 하나씩 이동 |
Unshift 배열, 변수 |
배열의 맨 앞에 요소를 추가, 그외 요소는 하나씩 뒤로 밀려남 |
배열 = grep /정규표현식/ , 배열 |
배열에서 정규표현에 매치하는 요소를 추출하여 배열에 저장 |
조합배열
'%' 문자와 배열의 이름으로 구성
키와 값을 한 세트로 설정
%조합배열명 = (
Key1 , data1,
Key2 , data2,
Key3 , data3,
);
%조합배열명 = (
Key1 => data1,
Key2 => data2,
Key3 => data3,
);
%Hash = ( "Name" => "Lee",
"Age" => 23,
"Job" => "Research Engineer",
);
@hash
"Lee" |
23 |
"Research Engineer" |
$Hash{"Name"} |
$Hash{"Age"} |
$Hash{"Job"} |
Hash에 관련된 함수
함수 및 사용법 |
설명 |
배열 = Keys 연상배열 |
연상배열의 모든 키를 구해서 배열에 저장 |
배열 = values 연상배열 |
연상배열의 모든 값을 구해 배열에 저장 |
(값,값) = each 연상배열 |
연상배열의 키와 값을 쌍으로 반환 |
Delete 배열{키} |
해당하는 키와 값을 삭제 |
변수 = exists 배열{키} |
연상배열의 키가 존재하는 경우 변수에 1을 저장 존재하지 않는 경우에는 undef를 저장 |