in reply to IO::DIR?

From the POD:

Deleting an element from the hash will delete the corresponding file or subdirectory, provided that DIR_UNLINK is included in the OPTIONS.

Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
"Science is about questioning the status quo. Questioning authority".
The "good enough" maybe good enough for the now, and perfection maybe unobtainable, but that should not preclude us from striving for perfection, when time, circumstance or desire allow.

Replies are listed 'Best First'.
Re^2: IO::DIR?
by vaj (Initiate) on Jun 14, 2005 at 06:17 UTC
    I tried it that way as well..
    
    ----
    
    $ cat delete.pl
    #!/usr/bin/perl -w
    
    use IO::Dir;
    
    tie %dir, 'IO::Dir', '.', DIR_UNLINK;
    
    delete($dir{'foo'}) || die "$!\n";
    
    ------
    
    and get the following warning..
    
    Argument "DIR_UNLINK" isn't numeric in bitwise and (&) at /usr/lib/perl/5.8/IO/Dir.pm line 94.
    
    The output is still the same as above and "echo $?" still returns 255. Have tried this on 3 separate systems.
    

      You need to import DIR_UNLINK

      use IO::Dir qw[DIR_UNLINK]; tie my %d, 'IO::Dir', '.', DIR_UNLINK;

      Or, as DIR_UNLINK is defined as the constant 1 you could just do

      use IO::Dir; tie my %d, 'IO::Dir', '.', 1;

      It's a strange way to define options!


      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
      "Science is about questioning the status quo. Questioning authority".
      The "good enough" maybe good enough for the now, and perfection maybe unobtainable, but that should not preclude us from striving for perfection, when time, circumstance or desire allow.
      You probably need to import the DIR_UNLINK, function from IO::Dir. I notice you aren't using strict, so it's probably interpreting the bareword "DIR_UNLINK" as a string.
        Thanks.. my ignorance has been sufficiently illuminated, appreciate it!