# 자료형 | 타입 | 기호 | | --- | --- | | 스칼라 | \$ | | 배열 | @ | | 해시 | % | ## 스칼라 (Scalar) 스칼라는 숫자나 문자열 같은 단순한 변수형입니다. 스칼라 타입의 변수는 `$`로 시작합니다. 변수의 주소를 담는 참조의 경우에도 스칼라 타입입니다. ### 숫자 ```perl $num1 = -100; $num2 = 108.32; $num3 = 0xff; $num4 = 3.14E7; $num5 = 123_456_789; # 큰 숫자의 경우 3자리마다 '_'를 넣어서 읽기 쉽게 할 수 있습니다. ``` #### 수학 함수 - abs - atan2 - cos - exp - hex - int - log - oct - rand - sin - sqrt - srand ### 문자열 문자열은 홑따옴표('') 또는 쌍따옴표("")로 묶습니다. 쌍 따옴표로 묶인 문자열의 경우에는 문자열 내에 포함된 변수를 보간 처리(interpolation)하지만, 홑 따옴표의 경우에는 처리하지 않습니다. ```perl $name = 'charlie'; $age = 14; $str1 = "\u$name is $age-year-old.\n"; $str2 = '\u$name is $age-year-old.\n'; print $str1; # Charlie is 14-year-old. print $str2; # \u$name is $age-year-old.\n ``` `q//`는 홑 따옴표처럼, 그리고 `qq//`는 쌍 따옴표처럼 작동합니다. 문자열에 따옴표가 포함된 경우에 유용합니다. `//` 대신 `()`등을 사용할 수있습니다. ```perl $str = qq/"How are you?"/; ``` #### 이스케잎 문자열 (Escape sequence) | 이스케잎 문자 | | | --- | --- | | `\\` | 역슬래시 | | `\'`, `\"` | 따옴표 | | `\n`, `\r`, `\t` | 줄바꿈과 탭 | | `\xnn` | 16진수 형식의 숫자 | | `\u` | 다음 문자를 대문자로 만듭니다. | | `\l` | 다음 문자를 소문자로 만듭니다. | | `\U`, `\L` | 이어지는 모든 문자를 대문자/소문자로 만듭니다. | | `\Q` | 이어지는 모든 문자 중 영문자/숫자가 아닌 문자를 역슬래시 처리합니다. | | `\E` | `\U`, `\L`, `\Q`를 끝냅니다. | #### 히어독 (Here doc) 히어독은 문자열의 길이가 긴 경우에 유용하게 사용됩니다. 히어독은 `<<식별자`로 시작하고 `식별자`로 끝납니다. ```perl $name = 'Charlie'; $age = 14; $var = <