LogIn E-mail
설계이야기
Getopt::Long example
# 69 JMJS    06.8.10 10:27

#!/usr/bin/perl
use Getopt::Long ();

my ($opt_debug, $opt_verb, $opt_help, $opt_pages) = (0) x 4;
my $opt_color = '';
my @opt_file  = ();

#$opt = param('OPT');

$ok = Getopt::Long::GetOptions(
                'debug!'  => \$opt_debug,
                'verbose+'=> \$opt_verb ,
                'help'    => \$opt_help ,
                'pages=i' => \$opt_pages,
                'color=s' => \$opt_color,
                'file=s'  => \@opt_file );

print        "\t-debug   = $opt_debug\n",
        "\t-verbose = $opt_verb\n",
        "\t-help    = $opt_help\n",
        "\t-pages   = $opt_pages\n",
        "\t-color   = $opt_color\n",
        "\t-file    = ", join(',',@opt_file),"\n";

Usage() if !$ok || $opt_help;

#=======================================================================
sub Usage() {
#=======================================================================
print <<EOF;
Usage: $0 [options] [filename]

This program does following .....

Options are:
        -help                Print this help message.
        -debug                Turn on debugging mode. This option is negatable.
                        i.e accepts --nodebug
        -verbose        Turn on verbose mode. This option is incremental.
                        i.e can appear multiple times.
                        In this case Getopt returns count of appearances
                        instead of 1
        -pages                Number of pages to print. Numeric value
        -color                Use this color. String value
        -file                Input file name(s). Accepts multiple values.

$0 -help -debug -color=blue -pages=5 -file=/usr/bin/ls -file=/usr/lib/gcc
EOF
}

첨부파일: getopt.pl
게시물: 105 건, 현재: 1 / 2 쪽
[1] [2]
번호 제       목 작성자 등록일 방문
112  foreach sort JMJS 20.8.15 23
111  diamond operator jinsung 20.7.10 29
110  file2date.pl JMJS 20.1.12 91
109  UTF-8, EUC-KR JMJS 19.12.15 100
108  wget.pl LWP Simple get JMJS 19.9.17 187
100  jsame.pl JMJS 09.5.21 1661
99  jos.pl JMJS 08.11.29 1380
98  jmngr.pl - jmjspro manager JMJS 08.11.29 1422
97  vhdl.pm JMJS 08.11.29 1375
96  jreg.pl JMJS 08.11.29 1387
95  jtree.pm JMJS 08.11.29 1450
94  w2c.pl JMJS 08.11.29 1392
93  jdread.pl JMJS 08.11.29 1187
92  ffile.zip ffilediff.pl JMJS 09.4.24 1235
91  rgb2ycbcr.pl JMJS 10.5.12 1545
90  proview.pl JMJS 08.11.29 1561
89  smi_shift.pl JMJS 10.10.3 1226
88  srt2smi.pl srtshift.pl JMJS 18.7.14 1406
87  Perl CGI Input Test, getenv.cgi JMJS 18.11.21 1049
86  opendir, readdir, closedir JMJS 08.10.12 1363
85  tr a-z A-Z JMJS 08.10.3 1168
84  JARRAY->jfunc JMJS 08.10.2 1143
83  수치함수 - ... JMJS 09.5.7 1588
82  역행렬3x3 JMJS 09.5.7 1684
81  hex2int.pl JMJS 10.9.12 2391
80  stat - file status 보기 JMJS 07.12.16 1317
79  Perl Tip JMJS 09.7.20 2413
78  SMI file sync delay JMJS 07.7.18 1381
77  rmword.pl JMJS 07.6.18 1279
76  [Perl]package AP jinsung 07.2.28 1172
75  [Perl]read_dir.pl JMJS 07.2.22 1455
74  [Perl]jtab2char - tab문자를 특정 char로 바꿔주기 JMJS 07.2.22 1415
73  Perl 숫자 Sorting JMJS 11.5.17 1528
72  [CGI]GET and POST JMJS 06.11.20 3219
71  Perl Grammer JMJS 06.9.4 2774
70  표준 모듈 JMJS 06.8.10 1660
69  Getopt::Long example JMJS 06.8.10 1841
68  array of array JMJS 06.4.22 1266
67  [HTML]테이블 배경에 그림넣기 JMJS 06.3.8 1349
66  l2w.pm - line to word JMJS 08.12.1 1333
65  make_random_chars JMJS 05.8.10 1190
64  mail 보내는 script JMJS 05.3.23 1147
63  실행파일을 실행시키고 표준에러 읽기 JMJS 09.2.25 1163
62  팝업창(공지창)띄우기 Jinsung 03.12.16 2249
61  print <<ENDLINE JMJS 03.12.5 1248
60  [HTML]Target JMJS 03.5.21 1283
59  [Perl]jutil.pm JMJS 03.5.3 1530
58  [Perl]jdiff.pl JMJS 02.6.6 1413
57  [Perl]cfilter.pm - commant filter JMJS 02.1.31 1450
56  [HTML]자동으로 다른 페이지 이동 JMJS 02.1.19 1297
55  Perl 설치하기 - ActiveWare JMJS 02.1.16 1303
54  opendir , readdir , closedir JMJS 02.1.4 1335
53  rand_diff JMJS 01.10.23 1238
52  vcd2v.pl JMJS 15.8.25 1304
51  file upload JMJS 01.3.16 1267
50  umask(070) <- chmod o-rwx 진성 01.3.16 1416
49  head2index 진성 01.3.15 1116
48  grep.pl JMJS 11.1.20 1233
47  chr(13) = \M 진성 01.3.15 1103
46  stty JMJS 01.3.12 1222
45  des.pl JMJS 01.3.8 1158
44  chr_plus.pl JMJS 01.3.8 1181
43  get passwd in unix JMJS 19.8.18 1035
42  unsort JMJS 19.9.10 1288
41  read from website web JMJS 19.5.15 1068
40  vec JMJS 01.3.8 1346
39  chomp $_ @_ say defined use 5.010 state grep any ... JMJS 18.10.27 1255
38  [Perl Tk] 도스창 없이, 펄 Tk 스크립트 실행하기; ... JMJS 17.9.30 1216
37  @bs = sort {$a <=> $b} @as; JMJS 17.7.12 1285
36  if ( -e -z -s -f -d -T -B -M ) JMJS 16.3.10 1368
35  mkmm.pl - make freemind JMJS 12.5.22 1314
34  perl -pi.orig -e "s/\bu_(\w+_t)\b/u$1/g" *.c JMJS 11.8.26 1321
33  .xls output csv 파일에 \n "가 있을때 JMJS 11.4.13 1185
32  jdcat.pl juncat.pl JMJS 11.2.24 1340
31  print chr(ord('a')); JMJS 01.3.8 1263
30  require "/user/home/jin1/jin1.pm"; JMJS 00.11.28 1202
29  for(my $i=0; $i < @abc; $i ++) {} JMJS 00.11.15 1299
28  remove blank $abc =~ s/[\s]+//g; JMJS 00.11.15 1240
27  array and for JMJS 00.11.14 1081
26  홈페이지 자동 이동 JMJS 00.10.28 1116
25  html에서 쓰이는 기호표시방법 JMJS 00.9.30 1079
24  배열의 범위 연산자 JMJS 00.9.20 1382
23  for(1..3) { print "$_";} JMJS 09.4.24 1069
22  package JMJS 00.9.18 1101
21  줄에서 한글자 고치기 JMJS 00.8.7 1193
20  hotkey function by getc JMJS 00.7.21 1294
19  read, sysread, syswrite JMJS 00.7.21 2090
18  crypt JMJS 00.7.13 1398
17  csv2gan.pl JMJS 11.4.4 1410
16  hexa JMJS 00.7.7 1221
15  file in out.pl JMJS 00.7.5 1415
14  ARGV JMJS 00.7.5 1265
13  jtime.pm - localtime, timelocal JMJS 09.4.9 1783
12  @INC JMJS 00.7.5 1618
11  $#myarray JMJS 00.7.5 1367
10  Hash of Array JMJS 00.7.5 1176
9  package JARRAY JHASH JMJS 00.7.4 1439
8  foreach, while each, dos2unix.pl, next last JMJS 09.4.24 1376
7  치환 전이 JMJS 00.7.4 1194
6  file lock JMJS 00.7.4 1311
[1] [2]