펄 작동 방식

Apr 01 2000
Perl은 기본 사항을 알면 사용하기 쉽습니다. DOS 배치 파일, C 셸 스크립트, 웹 페이지용 CGI 스크립트 등을 만드는 데 사용할 수 있습니다. 이 다재다능한 프로그래밍 언어에 대한 훌륭한 소개를 얻으십시오.

Perl은 상당히 간단하고 널리 알려져 있으며 존경받는 스크립팅 언어입니다. 다양한 작업에 사용되지만(예: DOS 배치 파일 또는 C 셸 스크립트와 동등한 것을 만드는 데 사용할 수 있음) 웹 개발의 맥락에서 CGI 스크립트 를 개발하는 데 사용됩니다 .

Perl의 좋은 점 중 하나는 스크립팅 언어이기 때문에 사람들 이 자신의 프로그램에 대한 소스 코드 를 제공한다는 것입니다 . 이것은 예제를 통해 Perl을 배울 수 있는 기회를 제공하며 수천 개의 Perl 스크립트를 다운로드하여 직접 수정할 수도 있습니다. Perl의 나쁜 점 중 하나는 이 무료 코드의 대부분이 이해가 불가능하다는 것입니다. Perl은 믿을 수 없을 정도로 비밀스러운 스타일에 적합합니다!

이 기사에서는 프로그래밍 방법을 이미 알고 있다고 가정합니다( C 프로그래밍 언어 를 알고 있다면 이 방법 이 특히 쉬울 것입니다). Perl은 기본 사항을 알면 사용하기 쉽습니다. 이 기사에서는 처음부터 Perl을 사용하여 가장 일반적인 프로그래밍 작업을 수행하는 방법을 보여줍니다. 이 기사가 끝나면 비교적 쉽게 자신의 Perl 스크립트를 작성하고 다른 사람이 작성한 암호 스크립트를 읽을 수 있게 될 것입니다. 그러나 이것은 좋은 출발점이 될 것입니다.

내용물
  1. 시작하기
  2. 헬로월드
  3. 변수
  4. 루프와 Ifs
  5. 기능
  6. 독서

시작하기

Perl을 시작하려면 Perl 인터프리터 가 필요합니다 . 모든 UNIX 시스템에는 이미 있을 가능성이 99.99%입니다. Windows 시스템 또는 Mac에서는 최신 언어 릴리스를 다운로드하여 시스템에 설치해야 합니다. (자세한 내용은 이 기사 끝에 있는 링크를 참조하십시오.) Perl은 웹에서 널리 사용 가능하며 무료입니다.

다음으로, Perl과 함께 제공 되는 DOCS 디렉토리 를 확인하십시오. 거기에 사용자 설명서 유형의 항목이 있을 것입니다. 어느 시점에서 모든 문서 를 읽 거나 적어도 스캔하는 것은 나쁠 것이 없습니다. 처음에는 번거롭겠지만 이 기사를 읽고 나면 훨씬 더 이해가 될 것입니다.

헬로월드

Perl을 로드했으면 Perl 실행 파일을 포함하도록 경로를 올바르게 설정했는지 확인하십시오. 그런 다음 텍스트 편집기를 열고 텍스트 파일을 만듭니다. 파일에 다음 줄을 배치합니다.

인쇄 "Hello World!\n";

파일 이름을 "test1.pl"로 지정합니다. 명령 프롬프트에서 다음을 입력합니다.

펄 테스트1.pl

Perl은 텍스트 파일의 코드를 실행하고 실행합니다. "Hello World!"라는 단어가 표시되어야 합니다. stdout(표준 출력)으로 인쇄됩니다. 보시다시피 Perl에서 프로그램을 만들고 실행하는 것은 매우 쉽습니다. (UNIX를 사용 하는 경우 첫 번째 줄에 #! /usr/bin/perl 과 같은 주석을 넣을 수 있습니다 . 그러면 명령줄에 "perl"이라는 단어를 입력할 필요가 없습니다.)

인쇄 명령은 표준 출력에 물건을 인쇄합니다. \ n 표시는 줄 바꿈입니다. 테스트 프로그램을 다음과 같이 수정하면 더 명확해질 것입니다( # 는 주석을 나타냄).

# 두줄로 출력
   인쇄 "Hello\nWorld!\n";

인쇄 명령은 "\n"을 리터럴 문자가 아닌 줄 바꿈으로 해석해야 함을 이해했습니다. 해석은 인쇄 명령 때문이 아니라 큰따옴표( Perl 에서는 인용 이라고 함)를 사용했기 때문에 발생했습니다 . 다음과 같이 대신 작은 따옴표를 사용하려는 경우:

인쇄 'Hello\nWorld!\n';

\n 문자는 해석되지 않고 대신 문자 그대로 사용됩니다.

역따옴표 문자도 있습니다. ` . 이 쌍은 따옴표 안에 있는 내용이 운영 체제 명령 으로 해석되어야 하고 해당 명령이 인쇄되는 명령의 출력과 함께 실행되어야 함을 의미합니다. 운영 체제의 명령줄 작업을 역따옴표 안에 넣으면 실행됩니다. 예를 들어 Windows NT에서는 다음과 같이 말할 수 있습니다.

인쇄 `cmd /c 디렉토리`;

DIR 명령을 실행하고 현재 디렉토리의 파일 목록을 보려면

정규식을 인용하는 데 사용되는 / 문자 도 볼 수 있습니다 .

인쇄 명령은 쉼표 를 구분 기호 이해 합니다 . 예를 들어:

'안녕하세요', '\n', '세상!'을 출력하세요.

그러나 마침표 도 표시 됩니다 .

'안녕하세요'를 인쇄합니다. "\NS". '세계!';

마침표는 실제로 문자열 연결 연산자입니다.

C 사람들을 위한 printf 연산자 도 있습니다 .

펄 노트

에서 윈도우 NT , 당신은 말할 수 없다 :

`dir` 인쇄;

dir은 별도의 실행 파일이 아니기 때문에 명령 인터프리터 cmd의 일부입니다. 입력 cmd /? 자세한 내용은 DOS 프롬프트에서 확인하십시오.

변수

Perl에서 변수는 흥미롭습니다. 선언하지 않고 항상 $ 를 사용 하여 표시합니다. 그들은 처음 사용할 때 존재합니다. 예를 들어:

   $s = "Hello\nWorld\n";
   $t = '안녕\n월드\n';
   인쇄 $s, "\n", $t;

또는:

   $i = 5;
   $j = $i + 5;
   인쇄 $i, "\t", $i + 1, "\t", $j; # \t = 탭

또는:

   $a = "안녕하세요";
   $b = "세계\n";
   $c = $a . $b; # 참고 사용 . 문자열을 연결하려면
   인쇄 $c;

이후 . 는 문자열 연결이고 .=는 C에서 "+="가 수행하는 것과 같은 방식으로 예상되는 의미를 갖습니다. 따라서 다음과 같이 말할 수 있습니다.

   $a = "안녕하세요";
   $b = "세계\n";
   $a .= $b;
   인쇄 $a;

배열 을 생성할 수도 있습니다 .

   @a = ('고양이', '개', '장어');
   인쇄 @a, "\n";
   인쇄 $#a, "\n"; # 가장 높은 인덱스 값, 0부터 시작
   $a[0] 인쇄, "\n";
   인쇄 $a[0], $a[1], $a[2], "\n";

$ # 표기는 C와 마찬가지로 배열에서 1을 뺀의 요소 수에 해당 배열에서 가장 높은 인덱스를 가져옵니다, 모든 배열은 제로에 인덱싱을 시작합니다.

해시 를 만들 수도 있습니다 .

   %h = ('개', '짖는 소리', '고양이', '야옹', '장어', '잽');
   print "개는 ", $h{'dog'};

여기에서 'bark'는 'dog'라는 단어와 연관되고, 'meow'는 'cat'과 연관되는 식입니다. 동일한 선언에 대한 보다 표현적인 구문은 다음과 같습니다.

   %h = (
      개 => '짖다',
      고양이 => '야옹',
      장어 => '잽'
   );

=> 연산자 왼쪽 문자열을 인용 쉼표로서 작용한다.

루프와 Ifs

C에서 하는 것처럼 간단한 for 루프를 만들 수 있습니다 .

   ($i = 0; $i < 10; $i++)
   {
      인쇄 $i, "\n";
   }

while 문은 쉽습니다.

   $i = 0;
   동안 ( $i < 10 )
   {
      인쇄 $i, "\n";
      $i++;
   }

If 문은 비슷하게 쉽습니다.

   ($i = 0; $i < 10; $i++)
   {
      만약 ($i != 5)
      {
         인쇄 $i, "\n";
      }
   }

부울 연산자는 그들이 C에서처럼 작동합니다 :

  • &&
  • || 또는
  • ! ~ 아니다

숫자의 경우:

  • == 같음
  • != 같지 않음
  • < , <= , > , >= (예상대로)

기타:

  • EQ
  • GT

배열이 있는 경우 foreach 를 사용하여 쉽게 반복할 수 있습니다 .

   @a = ('개', '고양이', '장어');
   foreach $b(@a)
   {
      인쇄 $b, "\n";
   }

Foreach는 @a 배열의 각 요소를 가져와 @a가 소진될 때까지 $b에 배치합니다.

펄 노트

당신은 "시작"과 "끝"을 사용한다 중괄호 - {} - 단 한 번의 라인.

기능

sub 라는 단어로 서브 루틴 을 만듭니다 . 서브루틴에 전달된 모든 변수는 _ 라는 배열에 도착 합니다. 따라서 다음 코드가 작동합니다.

   쇼('고양이', '개', '장어');

   서브 쇼
   {
      ($i = 0; $i <= $#_; $i++)
      {
         $_[$i] 인쇄, "\n";
      }
   }

$#은 배열에서 가장 높은 인덱스(요소 수에서 1을 뺀 값)를 반환하므로 $#_ 는 매개변수 수에서 1을 뺀 값임을 기억하십시오. 이런 종류의 둔감함을 좋아한다면 PERL을 좋아할 것입니다.

다음 과 같이 local 이라는 단어 를 사용하여 서브루틴에서 지역 변수를 선언할 수 있습니다 .

   서브 xxx
   {
      로컬($a, $b, $c)
      ...
   }

다음 과 같이 & 를 사용하여 함수 를 호출할 수도 있습니다 .

&show('a', 'b', 'c');

& 기호는 모호한 경우에만 필요하지만 일부 프로그래머는 항상 사용합니다.

하기 서브 루틴에서 값을 반환 키워드 사용 수익을 .

독서

STDIN에서 읽기

표준 입력(표준 입력)에서 데이터를 읽으려면 STDIN 핸들을 사용합니다 . 예를 들어:

   print "높은 숫자를 입력하세요: ";
   $i = 
         
          ;
   ($j = 0; $j <= $i; $j++)
   {
      인쇄 $j, "\n";
   }
         

정수 를 입력하는 한 이 프로그램은 예상대로 작동합니다. 한 줄씩 읽습니다. 다음 과 같이 getc 를 사용 하여 한 문자 를 읽을 수도 있습니다 .

$i = getc(STDIN);

또는 읽기를 사용하십시오.

읽기(STDIN, $i, 1);

읽기 명령에 대한 세 번째 매개변수의 1은 읽을 입력의 길이입니다.

환경 변수 읽기

PERL은 ENV 라는 전역 해시를 정의하며 이를 사용하여 환경 변수 값검색 할 수 있습니다 . 예를 들어:

$ENV{'경로'} 인쇄;

명령줄 인수 읽기

PERL은 스크립트에 전달된 모든 명령줄 인수를 포함 하는 전역 배열 ARGV를 정의합니다 . $#ARGV는 전달된 인수 수에서 1을 뺀 값이고, $ARGV[0]은 전달된 첫 번째 인수이고, $ARGV[1]은 두 번째 인수입니다.

이제 간단한 Perl 스크립트를 읽고 쓸 수 있습니다. 또한 자세한 내용을 보려면 전체 설명서 를 살펴볼 수 있어야 합니다 . 추가 정보는 다음 페이지의 링크를 참조하십시오.

펄 노트

환경 변수 의 이름은 대문자 여야 합니다 .

더 많은 정보

관련 기사

  • 자바 작동 방식
  • C 프로그래밍 기초
  • CGI 스크립팅 작동 방식
  • 부울 논리 작동 방식
  • 운영 체제 작동 방식

더 좋은 링크

  • PERL - 실용적인 추출 및 보고 언어
  • perl.com
  • 포괄적인 Perl 아카이브 네트워크
  • CGI 리소스 색인: 프로그램 및 스크립트: Perl
  • 펄 튜토리얼
  • 야후 디렉토리: 펄
  • 펄 몽거스