zoukankan      html  css  js  c++  java
  • perl学习之argument

    Arguments are the values you pass to a Perl script. Each value on the command line after the name of the script will be assigned to the special variables$ARGV[0],$ARGV[1],$ARGV[2], and so on. The number of arguments passed to the script is stored in the$#ARGVvariable, and the full argument string is in the variable@ARGV. The name of the currently running program is stored in the$0variable.

     

    Let's try some examples working with arguments and other special variables. Create an executable script calledtestvars.plcontaining these lines:

     

    #!/usr/bin/perl
    print "My name is $0 ";
    print "First arg is: $ARGV[0] ";
    print "Second arg is: $ARGV[1] ";
    print "Third arg is: $ARGV[2] ";
    $num = $#ARGV + 1; print "How many args? $num ";
    print "The full argument string was: @ARGV ";

    Now if you run this script, here's what you'll see:

    $./testvars.pl dogs can whistle
    My name is testvars.pl
    First arg is: dogs
    Second arg is: can
    Third arg is: whistle
    How many args? 3
    The full argument string was: dogs can whistle

    Just a few notes about that example. I did say that the$#ARGVvariable contained the number of arguments, but I lied--sort of. Since the arguments are numbered starting at zero, you have to add one to the value of$#ARGVto get the actual number of arguments. It's a bit weird, but if you're a fan of the C language, it'll all seem quite normal.

    Also note that the@ARGVvariable doesn't start with a dollar sign. That's because it's anarrayvariable, as opposed to the regularscalarvariables we've worked with so far. An array can be thought of as a list of values, where each value is addressed by a scalar (dollar sign) variable and an index number in square brackets, as in$ARGV[0],$ARGV[1], and so on. Don't worry too much about arrays for now--that's a topic for more study on your own.



  • 相关阅读:
    修改默认runlevel
    shell数学运算
    Ubuntu碎碎念
    编译Linux-2.6.23内核中遇见的错误
    CentOS设置静态IP
    多线程--对象锁和类锁
    [Unity移动端]Touch类
    [Lua]string与中文
    MQTT 5.0 新特性(四)Clean Start 与 Session Expiry Interval
    EMQ 9 月 新发 | EMQ X Enterprise 3.4.0 功能概览
  • 原文地址:https://www.cnblogs.com/chip/p/4188936.html
Copyright © 2011-2022 走看看