날짜: 1996-04-08 | 글쓴이: 도아 | 5897 번 | 프린트 | 메일로보내기

제 8강 - Split


펄에서 아주 유용한 함수는 split으로서 이 함수는 문자열을 쪼개 배열로 저장한다. 이 함수는 정규식을 사용할 수 있으며, 특별히 지정하지 않는다면 $_ 변수에대해 동작한다. split 함수는 다음과 같이 사용된다:

$info = "김희선:여배우:22:목용탕집";
@personal = split(/:/, $info);
print "@perlsonal\n";

다음 코드는 전체적으로 동일한 효과를 낸다.

@personal = ("김희선", "여배우", "22", "목용탕집");

$_ 변수에 정보가 저장되어 있다면 바로 다음과 같이 사용할 수 있다.

@personal = split(/:/);

필드가 임의의 개수의 콜론(:)에의해 분리된다면 이것을 처리하기위해 RE 코드를 사용할 수 있다.

$info = "김희선:여배우::22:::목용탕집";
@personal = split(/:+/, $info);
print "@perlsonal\n";

은 다음과 같다.

@personal = ("김희선", "여배우", "22", "목용탕집");

그러나

$info = "김희선:여배우::22:::목용탕집";
@personal = split(/:/, $info);
print "@perlsonal\n";

은 다음과 같다.

@personal = ("김희선", "여배우","", "22","","", "목용탕집");

단어는 문자로 쪼개질 수 있으며, 문장은 단어로, 구는 문장으로 쪼개질 수 있다:

@chars = split(//, $word);
@words = split(/ /, $sentence);
@sentences = split(/\./, $paragraph);

첫번째 경우 Null 문자는 각각의 문자 사이를 일치시키며, @chars 배열은 문자의 배열이된다. 연습 - 방명록

사용자의 입력은

name1=value1&name2=value2&name3=value3&name4=value4

와 같은 형식으로 CGI에 전달된다. 따라서 $query를 split 함수로 반복적으로 사용해서 QUERY_STRING을 쪼개면 valueX의 값을 얻을 수 있다.

split 함수와 배열을 사용해서 사용자의 입력을 디코딩하고 디코딩한 결과를 다음과 같은 형식으로 출력하도록 guest.cgi를 변경한다.

이름: Jae-Geun,+Kim
전자우편: webmaster@mailx2.com
홈페이지: http://qaos.com/
의견: 의견은 무신.

디코딩하는 부분은 다음과 유사할 것이다.

@query = split(/&/, $query);
($temp, $name) = split(/=/, $query[0]);
($temp, $emal) = split(/=/, $query[1]);
($temp, $home) = split(/=/, $query[2]);
($temp, $comment) = split(/=/, $query[3]);


다음글: 제 9강 - 연관배열 (6720)1996-04-09
이전글: 제 7강 - 배열 (7567)1996-04-07

세상사는 이야기

  • 찾아라! 아이폰 순정용 >
  • 만원대 피젯 스피너를 >
  • 망하는 길을 택한 쿠팡 >
  • 물놀이에 적당한 가성 >
  • 컴퓨터를 IPTV로 2, po >
  • 컴퓨터를 IPTV로 만들 >
  • Warning.or.kr도 우회 >
  • 한국의 100대 부자, 어 >
  • 세상을 바꾼 크롬: 크 >
  • 장난(?)으로 시작한 여 >


  • RSS 구독 (익명 | 회원 | 강좌 | 포럼)
    (C) 1996 ~ 2017 QAOS.com All rights reserved.