in reply to getOptions() parse problem

Hi,

Why not use -- (double dash) to indicate the option's name? You'd avoid ambiguity with negative numbers

The cpan module has more info about it.

--
if ( 1 ) { $postman->ring() for (1..2); }

Replies are listed 'Best First'.
Re^2: getOptions() parse problem
by jeanluca (Deacon) on Sep 13, 2005 at 09:25 UTC
    Ok, that works, thanks, but is there no other way to let getOptions ignore -10 as an options. Because I would like to use both - and --, like:
        > myPerl.pl -n -10
    or
        > myPerl.pl --number -10
    
    Both represent the same thing! So in case I only use -- I have to use --n, to me that doesn't look right!!
    
    Any comments on this ?
    Thanks
    Luca

      Hi again,

      I see you declare your 'option' as an optional string (:s):

      $getoptret = $p->getoptions( 'number:s' =>\$num, .......) ;

      try to change it in a mandatory integer:

      $getoptret = $p->getoptions( 'number=i' =>\$num, .......) ;

      According to the camel book:

      =i
      Option takes a mandatory integer argument. This value will be assigned to the option variable. Note that the value may start with - to indicate a negative value.
      --
      if ( 1 ) { $postman->ring() for (1..2); }
        You're right again, but what if
           > myPerl.pl -n "-10 20 .9388"
        
        This time it doesn't work!!
        Luca