티스토리 뷰
Package
같은 이름의 변수나 서브루틴을 구별
서로의 구역을 나누고 그 구역 안에서 각각의 일을 처리한다.
하나의 파일에 복수의 Package선언 가능
Package 생성
Package packageName;
Ex) package pack1;
Package를 선언하지 않은 경우 main package로 설정
Package 사용
상이한 package의 변수 또는 서브루틴 접근
- Ex)print "$pack1::number \n";
- Ex)&main::func();
Package의 효율성
Namespace문제를 해결
변수의 범위
변수의 종류
Lexical variable
변수의 범위 : 변수가 선언된 Lexical 영역의 내부
My를 붙여서 기술한 변수
My $my_var;
Global variable == package variable
변수의 범위 : 모든 Lexical영역
기본적인 변수, our를 붙여서 기술한 변수
our $out_var;
{}안에서 설정된거는 pack을 통해 접근
Local variable
변수의 범위 : 변수가 선언된 Lexical 영역의 내부 와 호출된 Lexical영역 내부
local를 붙여서 기술한 변수
local $local_var;
Lexical Scoping
Code block{}안에 있는 영역을 의미
각각의 서브루틴도 lexical영역에 해당
Package
- Package는 변수의 영역을 나누지 않음
- 단순한 namespace를 나눔
엄격한 문법 체크
use strict; #엄격한 문법 체크
use warnings #잔소리 추가
라이브러리와 모듈 == like headfile
사용자들이 프로그램을 쉽게 작성할 수 있도록 정의된 변수 및 서브루틴
라이브러리 작성
- 라이브러리 확장자는 pl(perl library)로 하고 파일 끝에 1;이라고 명시
- 라이브러리를 불러오기 위해서는 require함수 사용
모듈 작성
- 모듈 확장자는 pm(peal module) 으로 하고 파일 끝에 1;이라고 명시
- 모듈을 불러오기 위해서는 use함수 사용
- 모듈은 require함수로도 읽을 수 있다.
- 파일에는 package filename 으로 사용 일반적인 관례
- 지금은 모듈을 많이 사용
'DEV > Perl' 카테고리의 다른 글
OOP (0) | 2015.12.21 |
---|---|
정규표현식(Regular Expression) (0) | 2015.12.14 |
Subroutine (=함수) (0) | 2015.12.11 |
제어문 (0) | 2015.12.11 |
Reference (0) | 2015.12.04 |
- Total
- Today
- Yesterday
- 직구
- 수리영역
- 삼슉이
- 해외
- 펄
- phython
- 지니어스
- Oracle
- 오라클
- 직링
- Java
- 신혼
- 정답
- 바다
- 여행
- 배달의민족
- font
- 유휴시간
- 인텔리 제이
- 오피스
- 배민
- 조회
- 무료
- 배민문방구
- 할인
- 쿠폰
- 개발폰트
- 시즌2
- 베네수엘라
- 데스트톱
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |