in reply to Re: IO::DIR?
in thread IO::DIR?

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.

Replies are listed 'Best First'.
Re^3: IO::DIR?
by BrowserUk (Patriarch) on Jun 14, 2005 at 06:29 UTC

    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.
Re^3: IO::DIR?
by BUU (Prior) on Jun 14, 2005 at 06:40 UTC
    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!