홑따옴표 문자열
- 홑따옴표 문자열은 다음과 같이 표시할 수 있다.
'fred' # four characters: f, r, e, d
- 그리고 특수 홑따음표나 백슬레시를 표현하고 싶다면 앞에 ‘' 백슬레시를 붙여주면 된다.
'Don\'t let an apostrophe end this string prematurely!'
- 주의할 점은 백슬레시는 오직
'
홑따옴표를 나타내거나, 백슬레시를 나타낼 때만 사용할 수 있다는 것이다.
'hello\nthere' # hellonthere
쌍따옴표 문자열
- 쌍따옴표는 기본적으롤 홑따옴표 문자열과 큰 차이는 없지만, 백슬레시를 이용하여 활용할 수 있는 표현이 훨씬 더 많다.
"barney" # 'barney'와 같다.
"hello world\n" # 'hello world' 다음에 개행이 추가된다.
"the last character of this string is a quote mark: \""
"coke\tsprite" # coke, 다음에 탭문자 그리고 sprite
"\x{2668}" # 유니코드로 '♨' 문자가 표현된다.
"\N{SNOWMAN}" # 유니코드로 '☃' 문자가 표현된다.
- 그리고 쌍따옴표 문자열은 변수의 값을 표현할 수 있는 장치가 있다.
문자열 연산자
- 펄에는 스트링을 반복해서 더할 수 있는 문법이 있다.
"fref" x 3 # "fredfredfred" 로 나타내진다.
"barney" x (4 + 1) # "barneybarneybarneybarneybarney" 로 나타내진다.
5 x 4.8 # 5555 로 나타내진다.
-
마지막 예제는 조금은 특이한데,
x
연산자는 왼쪽에 오는 값을 문자열로 치환해서 생각을 한다. 따라서 “5"가 되고 그것을 오른쪽에 있는 4와 곱해서 “5555"가 된다. -
뒤의 숫자 4.8은 내림처리되어서 4로 표현된다.
-
만약 반복할 숫자가 0이라면 빈 문자열을 나타낸다.
펄은 자동으로 숫자와 문자 타입을 변경한다
-
펄은 연산자에 따라서, 앞에 오는 타입을 변환시키는데 앞에 오는 타입이 문자열을 요구하면 문자열로 생각하고 숫자를 요구하면 숫자로 판단하게 된다.
-
만약 숫자 타입을 원하는 연산자에 문자열을 적게 되면 자동으로 숫자로 타입으로 변경된다.
-
만약 “12” * “3” 같은 숫자 타입을 원하는 연산자에 문자열을 적게 된다면 문자열은 자동으로 숫자로 변환되고 36이라는 결과가 반환된다.
-
만약 문자열로 변환될 수 없는 숫자와 문자가 섞여 있는 타입이라면 문자열에서 앞쪽의 숫자만 뽑아서 계산을 한다.
-
그리고 절대로 숫자로 변환할 수 없다면 숫자 0으로 변경되어서 계산된다.
"12abcde34" * " 3" # 36
경고 표시
- 펄 스크립트를 작성할 때, 아래 코드를 적으면 프로그램에서 어떻게 동작할지 잘 모르겠는 부분을 워닝으로 표시해줄 수 있다.
#!/usr/bin/perl
use warnings;
또는
#!/usr/bin/perl -w
- 그 경고는 모듈을 추가하였을 때 내가 작성하지 않은 부분에 대해서도 경로를 표시해준다.
$ perl -w my_program
- 그리고
use diagnostics;
pragma를 사용하면 더 상세한 내용을 알 수 있다. 이것은 프로그램을 최적화하는데 많은 도움이 된다.