코멘트
프로그램을 작성할 때에 소스 내용을 알아보기 쉽도록 메모를 남겨두는 경우가 있습니다.
이것을 코멘트 또는 주석이라고 부릅니다.
Perl에서는 샾(#)기호로 코멘트를 작성할 수 있습니다.
프로그램이 실행될 때는 무시됩니다.
이것을 [코멘트 아웃]이라고 합니다.
$data = 'I am a boy'
# 데이터를 출력
print $data;
위 코드의 경우 3행을 코멘트로 취급하고 있습니다.
코멘트는 다음과 같이 소스 뒤에 붙여서도 사용할 수 있습니다.
$data = 'I am a boy'
print $data; # 데이터를 출력
그리고 여러행을 코멘트 하는 경우에는 다음과 같이 =pod =cut을 이용하여 여러행을 코멘트 아웃 할 수 있습니다.
=pod
여기서부터
복수의행을
코멘트 합니다.
=cut
$data = 'I am a boy';
print $data;
결과
> I am a boy
단, 위의 방법은 정식적인 방법은 아닙니다.
여러행을 코멘트 하고 싶은 경우에는 각 행마다 샾(#)을 사용해서 코멘트 아웃하는 것이 기본입니다. =pod =cut에 관해서는 프로그래밍이나 테스트 등에 일시적으로 여러 행을 코멘트 아웃을 하고 싶을 때 자주 사용되는 방법입니다.
문자열 검색
문자열을 검색하는 함수로 index함수와 rindex함수가 있습니다.
1. index함수
구문 |
index(전체 문자열, 검색 문자열, 시작 위치) |
index(전체 문자열, 검색 문자열) |
[전체 문자열]안에서 [시작 위치]의 위치부터 [검색 문자열]이 해당되는 최초의 위치를 반환합니다.
[시작 위치]를 생략하는 경우에는, 맨 앞부터 검색합니다.(맨 앞 위치는 0)
검색 결과가 없는 경우에는 -1을 반환합니다.
2. rindex 함수
구문 |
rindex(전체 문자열, 검색 문자열, 시작 위치) |
rindex(전체 문자열, 검색 문자열) |
[전체 문자열]안에서 [검색 문자열]이 해당되는 최종 위치를 반환합니다.
[시작 위치]를 사용하는 경우에는, 가장 오른쪽 위치를 지정하게 됩니다.
검색 결과가 없는 경우에는 -1을 반환합니다.
코드 예 -1
$str = "ABCDEF";
$sub = "CD";
$find = index($str, $sub);
if ($find >= 0) {
$find++;
print "앞 $find번 째에서 검색 되었습니다. \n";
} else {
print "검색 결과가 없습니다. \n";
}
결과
> 앞 3번 째에서 검색 되었습니다.
코드 예 -1에서는 최초에 발견된 부분을 표시하고 있지만, 문자열 안에서 해당되는 모든 곳을 표시하고 싶은 경우는 다음과 같이 할 수 있습니다.
코드 예 -2
$str = "apple orange banana";
$sub = "a";
while ( ($find = index($str, $sub, $find) ) >= 0 ) {
$find++;
print "$find번째에서 검색\n";
}
결과
> 1번째에서 검색
> 9번째에서 검색
> 15번째에서 검색
> 17번째에서 검색
> 19번째에서 검색
문자열 조작
문자열을 조작하는 함수로는, substr함수가 있습니다.
문자열의 취득, 변환, 삭제, 추가 등을 할 수 있습니다.
구문 |
substr(전체 문자열, 시작 위치, 문자 길이) |
substr(전체 문자열, 시작 위치) |
[전체 문자열]에서 부분 문자열을 취득합니다.
부분 문자열은, [시작 위치]부터 시작합니다. (맨 앞 위치는 0)
[시작 위치]가 음수일 경우 문자열의 맨 뒤에서부터 [문자 길이]만큼 취득합니다.
[문자 길이]를 생략하는 경우 문자열의 맨 뒤까지의 모든 문자열을 반환합니다.
문자열 취득
$word = "icecoffe";
$str = substr($word, 0, 3);
print "$str\n";
결과
> ice
substr함수를 사용해서 문자열을 변경하거나 추가할 수 있습니다.
문자열 변경
$word = "icecoffe";
substr($word, 0, 3) = "hot";
print "$word\n";
결과
> hotcoffe
문자열 삭제(앞 부분 삭제)
$word = "icecoffe";
substr($word, 0, 3) = "";
print "$word\n";
결과
> coffe
문자열 삭제(뒷 부분 삭제)
$word = "icecoffe";
substr($word, -5, 5) = "";
print "$word\n";
결과
> ice
문자열 변형
문자열을 변형하는 함수로 printf함수와 sprintf함수가 있습니다.
문자열이나 숫자를 지정하는 서식으로 변환을 할 수 있습니다.
printf함수는 변형한 값을 파일 핸들러로 출력하고, sprintf함수는 변형한 값을 반환합니다.
함수 | 구문 | 내용 |
---|---|---|
printf함수 | printf(서식, 리스트) | [리스트]의 값을 [서식]으로 변환하고 파일 핸들러에 출력 |
sprintf함수 | sprintf(서식, 리스트) | [리스트]의 값을 [서식]으로 변환하고 그 값을 반환 |
구문의 서식에 코드는 다음과 같습니다.
코드 | 의미 |
---|---|
%c | 문자 |
%s | 문자열 |
%d | 10진수 |
%e | 부동 소수점(지수 형식) |
%f | 부동 소수점(고정 소수점 형식) |
%e | 부동 소수점(콤팩트 형식) |
%o | 8진수 |
%x | 16진수 |
%X | 16진수(대문자 사용) |
코드 예
$hour = 5;
$min = 12;
$sec = 6;
$time = sprintf("%02d:%02d:%02d", $hour,$min,$sec);
print "$time\n";
결과
> 05:12:06
댓글