반응형
쳅터12
*. 익스터널 파일과 패키지
-. include 하기
require ’file.pl’;
여러번해도 한번만 된다.
런타임시에 실행되므로 해당라인에 가서야 파일의 포함을 결정한다.
-. 패키지 선언
c++ 의 namespace 같이 패키지를 선언해서 이용하면 된다.
1package Greetings;
2use strict;
3use warnings;
4my %greeting_in = (
5en => "Hello",
6’en-au’ => "G’day",
7fr => "Bonjour",
8jp => "Konnichiwa",
9zh => "Nihao",
10);
11sub hello {
12my $language = shift || "en";
13my $greeting = $greeting_in{$language}
14or die "Don’t know how to greet in $language";
15return $greeting;
16}
1require "Greetings.pl";
2# Greetings in English.
3print Greetings::hello("en"),"\n";
4# Greetings in Japanese.
5print Greetings::hello("jp"),"\n";
6# This calls the hello() subroutine in our main package
7# (below), printing "Greetings Earthling".
8print hello(),"\n";
9sub hello {
10return "Greetings Earthling";
11}
*. 모듈
-. 모듈 사용하는 이유
1. 인터프리터 방법 바꾸기 ( use strict ) 또는 다른 언어 사용
2. 추가적인 함수 사용 ( use Carp, use Data::Dumper )
3. OOP를 위한 새로운 클래스 사용 ( use HTML::Template )
-. 모듈이란?
펄소스에 포함되어 있어서 컴파일시에 같이 컴파일됨
*.pm 의 형태로 존재함
use CGI -> CGI.pm
use CGI qw(:standard);
use File::Copy qw(copy);
모듈 use 시에 qw() 을 이용하여 편하게 쓸수 있음 ( c++ use std 비슷 )
중간점검을 위한 File::Copy 이용 파일복사 프로그램
복사할 파일과 복사후파일을 지정해서 복사한다
http://perldoc.perl.org/
를 참조해서 File::Copy 의 사용법을 익히자..!
1#!/usr/bin/perl
2use warnings;
3use strict;
4
5use File::Copy "cp";
6
7print "INput SourceFile: \n";
8
9my $source_file = <STDIN>;
10chomp $source_file;
11
12print "INput TargetFile: \n";
13
14my $target_file = <STDIN>;
15chomp $target_file;
16
17cp ($source_file, $target_file);
18
19print "$source_file --> $target_file Copy Complete!! \n";
CPAN 을 이용해 필요한 모듈을 찾아서 설치할 수 있다.
또는 자신이 만든 모듈을 배포할 수 있으며, 이때 문서또한 포함할 수 있다.
( 아직은 아마도 쓰지 않을 기능이기에 패스-_-);
+Chapter 14 Module:Starter 를 이용해 모듈 만들기
+Chapter 15 만든 모듈 테스트 하기
-> 문서로 참조할사람은 참조-ㅁ-
반응형