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
°Ô½Ã¹°: 115 °Ç, ÇöÀç: 1 / 1 ÂÊ
¹øÈ£ Á¦       ¸ñ ÀÛ¼ºÀÚ µî·ÏÀÏ ¹æ¹®
115  perl format JMJS 24.6.22 314
114  perl -p -i -e s/abc/def/g JMJS 24.3.26 329
113  Deleting from a Hash , defined , exists JMJS 25.7.9 338
112  yaml file Àбâ JMJS 23.11.30 380
111  alzipcon JMJS 22.11.26 420
110  file2date.pl JMJS 24.6.1 556
109  UTF-8, EUC-KR JMJS 19.12.15 515
108  wget.pl LWP Simple get JMJS 19.9.17 561
107  X JMJS 19.9.17 526
106  X JMJS 19.9.17 530
105  X JMJS 19.9.17 527
104  X JMJS 19.9.17 520
103  X JMJS 19.9.17 517
102  X JMJS 19.9.17 513
101  gnome-terminal JMJS 25.7.3 530
100  jsame.pl JMJS 09.5.21 2056
99  jos.pl JMJS 08.11.29 1774
98  jmngr.pl - jmjspro manager JMJS 08.11.29 1818
97  vhdl.pm JMJS 08.11.29 1787
96  jreg.pl JMJS 08.11.29 1777
95  jtree.pm JMJS 08.11.29 1842
94  w2c.pl JMJS 08.11.29 1810
93  jdread.pl JMJS 08.11.29 1584
92  ffile.zip ffilediff.pl JMJS 09.4.24 1643
91  rgb2ycbcr.pl JMJS 10.5.12 1951
90  proview.pl JMJS 08.11.29 2031
89  smi_shift.pl JMJS 10.10.3 1624
88  srt2smi.pl srtshift.pl JMJS 18.7.14 1822
87  Perl CGI Input Test, getenv.cgi JMJS 18.11.21 1507
86  hash JMJS 24.6.22 1756
85  tr a-z A-Z ġȯ , ´ë¼Ò¹®ÀÚ º¯È¯ , ¹®ÀÚ¿­ Á¶°Ç , ... JMJS 24.6.22 1550
84  JARRAY->jfunc JMJS 08.10.2 1527
83  ¼öÄ¡ÇÔ¼ö - ... JMJS 09.5.7 2032
82  ¿ªÇà·Ä3x3 JMJS 09.5.7 2060
81  hex2int.pl JMJS 10.9.12 2782
80  stat - file status º¸±â JMJS 07.12.16 1638
79  Perl Tip JMJS 24.6.22 2795
78  SMI file sync delay JMJS 07.7.18 1722
77  rmword.pl JMJS 07.6.18 1662
76  pack unpack JMJS 24.6.22 1587
75  [Perl]read_dir.pl JMJS 07.2.22 1870
74  [Perl]jtab2char - tab¹®ÀÚ¸¦ ƯÁ¤ char·Î ¹Ù²ãÁÖ±â JMJS 07.2.22 1839
73  Perl ¼ýÀÚ Sorting JMJS 11.5.17 1896
72  [CGI]GET and POST JMJS 06.11.20 3546
71  Perl Grammer JMJS 06.9.4 3140
70  Ç¥ÁØ ¸ðµâ JMJS 06.8.10 2038
69  Getopt::Long example JMJS 06.8.10 2212
68  array of array JMJS 06.4.22 1643
67  [HTML]Å×ÀÌºí ¹è°æ¿¡ ±×¸²³Ö±â JMJS 06.3.8 1723
66  l2w.pm - line to word JMJS 08.12.1 1736
65  make_random_chars JMJS 05.8.10 1552
64  mail º¸³»´Â script JMJS 05.3.23 1529
63  ½ÇÇàÆÄÀÏÀ» ½ÇÇà½Ã۰í Ç¥ÁØ¿¡·¯ Àбâ JMJS 09.2.25 1563
62  ÆË¾÷â(°øÁöâ)¶ç¿ì±â Jinsung 03.12.16 2615
61  print <<ENDLINE JMJS 03.12.5 1632
60  [HTML]Target JMJS 03.5.21 1655
59  [Perl]jutil.pm JMJS 03.5.3 1899
58  [Perl]jdiff.pl JMJS 02.6.6 1829
57  [Perl]cfilter.pm - commant filter JMJS 02.1.31 1843
56  [HTML]ÀÚµ¿À¸·Î ´Ù¸¥ ÆäÀÌÁö À̵¿ JMJS 02.1.19 1674
55  STDIN file open glob -w warning JMJS 24.6.22 1721
54  opendir , readdir , closedir JMJS 24.6.22 1716
53  rand_diff JMJS 01.10.23 1607
52  vcd2v.pl JMJS 15.8.25 1676
51  file upload JMJS 24.6.22 1624
50  umask(070) <- chmod o-rwx Áø¼º 01.3.16 1785
49  head2index Áø¼º 01.3.15 1512
48  grep.pl JMJS 11.1.20 1604
47  chr(13) = \M Áø¼º 01.3.15 1472
46  stty JMJS 01.3.12 1588
45  des.pl JMJS 01.3.8 1572
44  chr_plus.pl JMJS 01.3.8 1562
43  get passwd in unix JMJS 19.8.18 1420
42  unsort JMJS 19.9.10 1657
41  read from website web JMJS 19.5.15 1446
40  vec JMJS 01.3.8 1708
39  chomp $_ @_ say defined use 5.010 state grep any ... JMJS 18.10.27 1624
38  [Perl Tk] µµ½ºÃ¢ ¾øÀÌ, ÆÞ Tk ½ºÅ©¸³Æ® ½ÇÇàÇϱâ; ... JMJS 17.9.30 1585
37  @bs = sort {$a <=> $b} @as; JMJS 17.7.12 1654
36  if ( -e -z -s -f -d -T -B -M ) JMJS 16.3.10 1744
35  mkmm.pl - make freemind JMJS 12.5.22 1697
34  perl -pi.orig -e "s/\bu_(\w+_t)\b/u$1/g" *.c JMJS 11.8.26 1677
33  .xls output csv ÆÄÀÏ¿¡ \n "°¡ ÀÖÀ»¶§ JMJS 11.4.13 1596
32  jdcat.pl juncat.pl JMJS 11.2.24 1732
31  print chr(ord('a')); JMJS 01.3.8 1629
30  require "/user/home/jin1/jin1.pm"; JMJS 00.11.28 1568
29  for(my $i=0; $i < @abc; $i ++) {} JMJS 00.11.15 1675
28  remove blank $abc =~ s/[\s]+//g; Á¤±ÔÇ¥Çö½Ä ... JMJS 25.7.16 1586
27  array and for JMJS 00.11.14 1435
26  È¨ÆäÀÌÁö ÀÚµ¿ À̵¿ JMJS 00.10.28 1524
25  html¿¡¼­ ¾²ÀÌ´Â ±âȣǥ½Ã¹æ¹ý JMJS 00.9.30 1459
24  ¹è¿­ÀÇ ¹üÀ§ ¿¬»êÀÚ JMJS 00.9.20 1760
23  for(1..3) { print "$_";} JMJS 09.4.24 1455
22  package JMJS 24.6.22 1507
21  ÁÙ¿¡¼­ ÇѱÛÀÚ °íÄ¡±â JMJS 00.8.7 1564
20  hotkey function by getc JMJS 00.7.21 1642
19  read, sysread, syswrite JMJS 00.7.21 2525
18  crypt JMJS 00.7.13 1787
17  csv2gan.pl JMJS 11.4.4 1780
16  hexa JMJS 24.6.18 1602
15  file in out.pl JMJS 00.7.5 1791
14  ARGV JMJS 00.7.5 1618
13  jtime.pm - localtime, timelocal JMJS 09.4.9 2123
12  @INC JMJS 00.7.5 1975
11  $#myarray JMJS 00.7.5 1734
10  Hash of Array JMJS 00.7.5 1542
9  package JARRAY JHASH JMJS 00.7.4 1809
8  foreach, while each, dos2unix.pl, next last JMJS 09.4.24 1798
7  base64 enc dec binary JMJS 25.6.30 1585
6  file lock JMJS 00.7.4 1677
5  gettime JMJS 00.7.4 1698
4  [Perl]jcdread.pl JMJS 00.7.4 1749
3  [Perl]jdread.pl JMJS 00.7.4 1647
2  Monti Hall problem JMJS 24.6.27 1626
1  DESTROY JMJS 09.7.20 1590
[1]