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

제 11강 - 시스템 변수


펄에서는 시스템에서 미리 정의한 상당히 많은 시스템 변수가 있다. 이들 모두를 설명하는 것은 강의의 목적에 맞지 않으므로 여기에서는 CGI와 관련된 몇몇 시스템 변수에 대해 알아보도록 하겠다. $_, @_

기본적인 입력값과 패턴 검색 값을 가지고 있는 변수이다. 일반적으로 펄에서 리턴값을 저장하는 변수가 없는 경우 $_, @_를 사용한다. 따라서 다음의 예는 모두 같은 결과를 갖는다.

1:  while (<>) {...}		while($_ = <> ) {...}
2:  /^Subject:/			$_ =~ /^Subject:/
3:  tr/a-z/A-Z/			$ =~ tr/a-z/A-Z/
4:  chop			chop($_)
$0, $ARGV, @ARGV, ARGV

C에서 argc와 argv의 기능을 하는 변수들이다. 즉, $0는 명령행에서 실행한 명령을 갖는 변수이며, @ARGV는 명령행에서 넘겨준 인자를 저장하고 있는 배열이다. 따라서 c와는 달리 명령과 인자를 모두 처리하기위해서는 $0와 @ARGV를 이용해야 한다. $ARGV는 <>로 읽을 때 현재 파일의 파일명을 갖는 변수이다. <>는 <ARGV>에서 ARGV를 생략한 형태이다.

1:  print "ARGC is ", ($#ARGV + 1), "\n";
2:  print "ARGV is 
1:  push(@INC, '/home/artech/public_html/cgi-bin');
2:  require 'cgi-lib.pl';
3:  &ReadParse;
4:  print "@INC\n";
5:  print "$INC{'cgi-lib.pl'}\n";
, ", join(', ', @ARGV), "\n"; 3: while(<>) { 4: print "$ARGV\t"; 5: print; 6: }
@INC

do EXPR, require, use에의해 사용될 펄 라이브러리의 목록을 갖는 배열이다. 펄에서 라이브러리를 사용하기위해 사용된다. %INC

do 나 require에의해 include되는 각 파일에대한 경로, 파일 정보를 갖는 연관배열이다. 키는 파일명이되며, 값은 해당 파일의 경로가 된다. require 명령은 이 연관배열을 이용해서 이미 include되었는지의 여부를 판정한다.

1:  print "Printing ENV Variable\n";
2:  foreach (keys %ENV) {
3:  print "$_ \t $ENV{$_}\n";
4:  }
%ENV, $ENV{ENVIRONMENT}

현재 시스템의 환경변수를 포함하는 연관배열이다. ENV의 값을 변경하면 child 프로세서의 환경변수가 변경되며, CGI 프로그램에서 환경변수를 읽기위해 많이 사용하는 시스템 변수이다.

[code=xml]1: print "Printing ENV Variable\n"; 2: foreach (keys %ENV) { 3: print "$_ \t $ENV{$_}\n"; 4: } [/code]



다음글: 제 12강 - 파일핸들 (10053)1996-04-12
이전글: 제 10강 - 다차원 배열 (4619)1996-04-10

세상사는 이야기

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


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