변수는 메모리에 저장되는 데이터입니다. 변수를 만들면 메모리에 공간이 생깁니다.
인터프리터는 변수 유형에 따라 메모리의 저장 공간을 결정하므로 정수, 부동 소수점, 문자열 등과 같은 다양한 데이터 유형을 변수에 할당할 수 있습니다.
이전 장에서 우리는 Perl의 세 가지 기본 데이터 유형인 스칼라, 배열 및 해시를 소개했습니다.
$a $b와 같이 스칼라 $로 시작하면 두 개의 스칼라가 됩니다.배열은 @로 시작합니다. 예를 들어 @a @b는 두 개의 배열입니다.
해시 %는 두 개의 해시인 %a %b로 시작합니다.
Perl은 각 변수 유형에 대해 독립적인 명령 공간을 설정하므로 서로 다른 유형의 변수는 충돌에 대한 걱정 없이 동일한 이름을 사용할 수 있습니다. 예를 들어 $foo와 @foo는 서로 다른 두 변수입니다.
변수는 해당 유형을 명시적으로 선언할 필요가 없습니다. 변수에 값이 할당되면 인터프리터는 자동으로 일치하는 유형 공간을 할당합니다.
변수에는 등호(=)를 사용하여 값이 할당됩니다.
프로그램에서 use strict 문을 사용하여 모든 변수가 유형을 선언하도록 강제할 수 있습니다.
등호의 왼쪽은 변수이고 오른쪽은 값입니다.
$age = 25; # 정수 $name = "codercto"; # 문자열 $salary = 1445.50 # 부동 소수점 숫자
위 코드에서 25, "codercto" 및 1445.50은 각각 $age , $name 및 $salary 변수에 할당됩니다.
다음으로 배열과 해시의 사용을 살펴보겠습니다.
스칼라는 단일 데이터 단위입니다. 데이터는 정수, 부동 소수점 숫자, 문자, 문자열, 단락 등이 될 수 있습니다. 간단히 말해서 무엇이든 될 수 있습니다. 다음은 스칼라를 간단히 적용한 예입니다.
위 프로그램의 실행 결과는 다음과 같습니다.
나이 = 25이름 = coderctoSalary = 1445.5
배열은 정렬된 스칼라 값을 저장하는 데 사용되는 변수입니다.
@ 배열이 시작됩니다.
배열의 변수에 접근하려면 달러 기호($) + 변수 이름을 사용하고 첨자를 지정하여 접근하면 됩니다. 예는 다음과 같습니다.
위 프로그램의 실행 결과는 다음과 같습니다.
$ages[0] = 25$ages[1] = 30$ages[2] = 40$names[0] = google$names[1] = codercto$names[2] = taobao
프로그램에서는 $ 문자가 출력될 수 있도록 $ 표시 앞에 이스케이프 문자()를 사용합니다.
해시는 키/값 쌍의 모음입니다.
해시 %가 시작됩니다.
해시 값에 액세스하려면 $+{key} 형식을 사용하여 액세스할 수 있습니다.
위 프로그램의 실행 결과는 다음과 같습니다.
$data{'google'} = 45$data{'codercto'} = 30$data{'taobao'} = 40
소위 문맥: 표현이 위치한 위치를 가리킨다.
컨텍스트는 등호 왼쪽에 있는 변수의 유형에 따라 결정됩니다. 등호 왼쪽에 스칼라가 있으면 스칼라 컨텍스트입니다. 등호는 목록 컨텍스트입니다.
Perl 인터프리터는 컨텍스트에 따라 변수 유형을 결정합니다. 예는 다음과 같습니다:
위 프로그램의 실행 결과는 다음과 같습니다.
이름: google codercto taobao 이름 수: 3
코드의 @names는 두 가지 다른 컨텍스트에서 사용되는 배열입니다. 첫 번째는 이를 다른 배열에 복사하여 배열의 모든 요소를 출력합니다. 두 번째로 배열의 요소 수를 반환하는 스칼라에 배열을 할당합니다.
다양한 상황이 아래에 나열되어 있습니다.
일련번호 | 맥락과 설명 |
---|---|
1 | 스칼라− 스칼라 변수에 할당되고 스칼라 컨텍스트의 오른쪽에서 평가됩니다. |
2 | 목록− 목록 컨텍스트의 오른쪽에서 평가되는 배열 또는 해시에 할당됩니다. |
3 | 부울− 부울 컨텍스트는 참인지 거짓인지 평가하는 간단한 표현식입니다. |
4 | 무효 - 이 컨텍스트는 반환되는 값과 관련될 필요가 없으며 일반적으로 반환 값이 필요하지 않습니다. |
5 | 보간− 이 컨텍스트는 따옴표 내에서만 발생합니다. |