2 Scalar Data
모든 숫자는 내부적으로 동일한 포맷을 사용 :: 배정밀도 부동소수점수
지원 숫자 형식
- 1.25
 - 7.25e4
 - -6.5e4
 - 12
 - 15
 - -2004
 - 0377 (8진수)
 - -0xff (16진수)
 
문자열
- 단일 인용부호 ‘ ‘ : \n (뉴라인)은 인식되지 않는다.
 - ‘hello’ : hello (5개의 문자)
 - ‘don\’t’ : d, o, n , ‘ , t
 - ‘hello
there’ : hello 뉴라인 there (11문자로 인식) - ‘’ : 널 문자열
 - ‘silly\\me’ : silly 백슬래쉬 me
 - ‘hello\n’ : hello 뒤에 백슬래쉬 , 그 뒤에 n (뉴라인으로 보지 않는다.)
 
- 이중 인용부호 “ “
 - - 역 인용 부호 ` ` : 외부 명령어 실행
 
표기 
 | 
의미 
 | 
\n 
 | 
뉴라인 
 | 
\r 
 | 
리턴 
 | 
\t 
 | 
탭 
 | 
\f 
 | 
폼피드 
 | 
\b 
 | 
백스페이스 
 | 
\a 
 | 
벨 
 | 
\e 
 | 
이스케이프 
 | 
\007 
 | 
임의의 8진 아스키 값  
 | 
\x7f 
 | 
임의의 16진 아스키 값  
 | 
\cC 
 | 
임의의 제어문자(여기서 Ctrl+C) 
 | 
\\ 
 | 
백슬래쉬 
 | 
\” 
 | 
이중 인용부호 
 | 
\l 
 | 
뒤에 오는 문자는 소문자 
 | 
\L 
 | 
\E 전까지 뒤의 모든 문자는 소문자 
 | 
\u 
 | 
뒤에 오는 문자는 대문자 
 | 
\U 
 | 
\E 전까지 뒤의 모든 문자는 대문자 
 | 
\Q 
 | 
\E 전까지 모든 알파뉴메릭이 아닌 것을 이중인용부호로 둘러 쌈 
 | 
\E 
 | 
\L,\U,\Q의 종료 
 | 
숫자를 위한 연산자
- 2 + 3 #2더하기 3, 혹은 5
 - 5.1 - 2.4 #빼기
 - 3 * 12 # 3 곱하기 12
 - 14 / 2 # 14 나누기 2
 - 10 / 3 # 부동 소수점 나누기
 - 2 ** 3 # 2 ^3 , 2에 3승
 - 10 % 3 # 나머지 1]
 
문자열을 위한 연산자 ( . ) :: 반드시 명시적으로 호출 해야 함.
- “hello” . “world” #”helloworld”와 동일]
 - $str .= “ ”; 와 $str = $str . “ “;
 
문자열 반복 연산자 ( x ) 
- “fred” x 3 # “fredfredfred”
 - (3+2) x 4 # “5555”와 동일
 
숫자와 문자열 비교 연산자
비교 
 | 
숫자 
 | 
문자열 
 | 
동일 
 | 
== 
 | 
eq 
 | 
같지 않음 
 | 
!= 
 | 
ne 
 | 
보다 작음 
 | 
< 
 | 
lt 
 | 
보다 큼 
 | 
> 
 | 
gt 
 | 
보다 적거나 같음 
 | 
<= 
 | 
le 
 | 
보다 크거나 같음 
 | 
>= 
 | 
ge 
 | 
연산자의 결합성과 우선순위 : 높은 것에서 낮은 것으로 (작업중)
결합성 
 | 
연산자 
 | 
왼쪽 
 | 
리스트 연산자 (왼쪽 방향) 
 | 
왼쪽 
 | 
-> (메소드 호출 , 디레퍼런스) 
 | 
비결합 
 | 
++ , -- (자동증가, 자동감소) 
 | 
오른쪽 
 | 
*** (누승) 
 | 
오른쪽 
 | 
! , ~ , \ , + , -  
논리부정,비트부정,레퍼런스 연산자 , 일원 플러스, 일원 마이너스 
 | 
왼쪽 
 | 
=~ , !~ (일치 ,비일치) 
 | 
왼쪽 
 | 
*,/,%,x (곱셈,나눗셈,나머지,문자열복사) 
 | 
비결합 
 | 
이름붙은 일원 연산자(예:chomp) 
 | 
왼쪽 
 | 
&(비트 AND) 
 | 
왼쪽 
 | 
|,^(비트 OR, 비트 XOR) 
 | 
왼쪽 
 | 
&& (논리 AND) 
 | 
왼쪽 
 | 
|| (논리 OR) 
 | 
비결합 
 | 
.. , … (비포함(noninclusive),포함 범위) 
 | 
오른쪽 
 | 
?:(if-then-else) 
 | 
오른쪽 
 | 
=,+=,-=,*=(할당과 이원 할당) 
 | 
왼쪽 
 | 
,=> (쉼표와 쉼표-화살표) 
 | 
비결합 
 | 
리스트연산자(오른쪽 방향) 
 | 
오른쪽 
 | 
not (논리 NOT) 
 | 
왼쪽 
 | 
and (논리 AND) 
 | 
왼쪽 
 | 
or , xor (논리 OR, 논리 XOR) 
 | 
chop 함수 : 문자열의 마지막 문자를 제거
chomp 함수 : 마지막 한개의 뉴라인 문자만 제거
대소문자 변환 이스케이프 문자열 사용예제 (추후)
스칼라 값으로서 <STDIN>
$a = <STDIN>;
chomp ($a);
==========================
chomp ($a = <STDIN>);
정의되지 않은 값 (undef) :: 숫자로 사용되면 0 , 문자열로 사용되면 길이가 0인 문자열 이다.