컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Tuesday, August 22, 2006

Perl] 펄 함수의 $_[0], $_[1], shift @_ 의 의미는? 서브루틴 파라미터(인수)받기, Subroutine Parameter


펄 함수의 파라미터를 받아서 처리하는 부분입니다. 함수(서브루틴)에 인수(파라미터)를 주어 호출하면, 그 인수들이 든 배열이 그 함수 내의 @_ 여기에 자동으로 들어갑니다. @_ 여기에서 파라미터를 뽑아서 사용하면 됩니다.

함수에 주어진 첫번째 파라미터는 $_[0] 입니다. $_[1] 은 두 번째 파라미터입니다. $_[2] 는 세 번째이고...


#!/usr/bin/perl
use strict; use warnings;


&foo(123, "ABC");

&num_test(2, 3);

&bar(1.32, "똠방각하");




sub foo {
  print "첫 번째 파라미터: ", $_[0], "\n";
  print "두 번째 파라미터: ", $_[1], "\n";
}


sub num_test {
  print $_[0] + $_[1], "\n";
}


sub bar {
  $_ = shift @_;
  print "첫 번째 파라미터: ", $_, "\n";

  $_ = shift @_;
  print "두 번째 파라미터: ", $_, "\n";
}


위의 예제 설명


&foo(123, "ABC"); 라고 했을 때, 123 은 $_[0] 이 되고, ABC 는 $_[1] 이 됩니다.


num_test()라는 함수에 지금 2와 3 이라는 두 개의 파라미터가 주어져 있습니다. 함수의 본체는, 주어진 2개의 파라미터를 플러스하여 출력하는 것입니다. 2+3=5 이기에, 5를 출력합니다.


&bar(1.32, "똠방각하"); 라는 함수에서 볼 수 있듯이, 함수 파라미터를 @_ 에서 shift 로 하나씩 뽑아 $_ 에 저장할 수도 있습니다. 작대기에서 곶감을 하나씩 빼먹는 것과 비슷합니다.




tag: perl
Perl | 펄

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top