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인 문자열 이다.