zoukankan      html  css  js  c++  java
  • Perl 模块 Getopt::Std 和 Getopt::Long

    示例程序:

    getopt.pl;

    1 #!/usr/bin/perl -w
    2 #use strict;
    3 use Getopt::Std;
    4 use vars qw($opt_a $opt_b $opt_c);
    5 getopts('a:b:c');
    6 print "opt_a =>;$opt_a\n" if $opt_a;
    7 print "opt_b =>;$opt_b\n" if $opt_b;
    8 print "opt_c =>;$opt_c\n" if $opt_c;

    注释:'a:b:c',a和b后有冒号,表示-a,-b后面要跟参数.c后面没有冒号,表示-c后面不带参数.

    而且-a,-b后所跟的参数分别赋给变量$opt_a和$opt_b,对于变量$opt_c,若命令行加了-c,则$opt_c=1,否则为0.

    如:

    perl getopt.pl -a aa -b bb -c cc

    显示:

    opt_a =>;aa
    opt_b =>;bb
    opt_c =>;1

    如:

    perl getopt.pl -a aa -b bb
    opt_a =>;aa
    opt_b =>;bb

    (因为加了if判断,所以$opt_c没有显示);

    上面的例子,用Getopt::Long可以这样实现

     

     

    上面的例子,用Getopt::Long可以这样实现

    getoptions.pl

    1 #!/usr/bin/perl
    2 use Getopt::Long;
    3 use vars qw($opt_a $opt_b $opt_c);
    4 GetOptions("a=s"=>\$opt_a,"b|opt_b:i"=>\$opt_b,"c"=>\$opt_c);
    5 print "opt_a =>;$opt_a\n" if $opt_a;
    6 print "opt_b =>;$opt_b\n" if $opt_b;
    7 print "opt_c =>;$opt_c\n" if $opt_c;

    a=s表示可以用-a aa的形式,即变量-a 类型是字符串
    b|opt_b:i表示可以用-b或者-opt_b来取得变量,类型为整型
    c表示如果有-c的参数值则$opt_c等于1,否则等于0

    其中
    s表示字符串,i表整型,f表示浮点型
    =表示要有参数值或者没有这个参数如:perl getoptions.pl -a aa -b bb或者perl getoptions.pl -b bb
    :表示可有参数值也可以没有参数值
    如:
    perl getoptions.pl -a aa -b 2 -c cc
    opt_a =>;aa
    opt_b =>;2
    opt_c =>;1
  • 相关阅读:
    只是为了好玩——Linux之父林纳斯自传
    Unity Sprite Atlas Compression
    Bitmap动画
    UnityShader:HSV(色相,饱和度,亮度)转换
    Using Flash Builder with Flash Professional
    Flash Decompiler
    One Night Ultimate Werewolf Daybreak
    Visual Studio CLR Profiler
    Photoshop 融合属性 Unity Shader
    .NET GC
  • 原文地址:https://www.cnblogs.com/jasonliu/p/2226489.html
Copyright © 2011-2022 走看看