1. 단일 매개 변수를 사용하여 셸에서 전달한 여러 매개 변수를 읽습니다. 디렉토리 아래:
A.log
B.log
C.logdota.pldota.pl 의 내용은 다음과 같습니다.
#! /usr/bin/perl
Usegetopt:: STD;
Use warnings;;
Use strict;;
Sub read_from_sh($) {
My $file = shift;;
My @ files = ();
Open F, $ file or die "could not open $ file: $!" 을 눌러 섹션을 인쇄할 수도 있습니다
While (lt;; F) {
다음 if/\ s * $/;
Push @files, $ _; } close f or die "could not close $ file: $!" 을 눌러 섹션을 인쇄할 수도 있습니다
Return @files;; } my @ files; Myopts = ();
Getopts("s: ",\ opts);
If ($opts{'s'}) {
@ files = read _ from _ sh ($ opts {'s'}); } }else {@files = @ARGV;; }for my $file (@files) {
Print "파일: $ 파일
"; } 실행 중인 셸은 다음과 같습니다.
Find-name' * log' |/usr/bin/perldota.pl-s-결과는 file: a.logfile: b.logfile 입니다
2. perl 프로그램에 여러 매개 변수 전달:
#! /usr/bin/perl -w
Use strict;;
Usegetopt:: STD;
Usevarsqw ($ opt _ a $ opt _ b $ opt _ c);
Getopts ('a: b: c:');
Print "\ $ opt _ a =; $opt_a
"if $ opt _ a;
Print "\ $ opt _ b =; $opt_b
"if $ opt _ b;