develooper Front page | perl.perl6.users | Postings from September 2017

mkdir not failing appropriately?

Thread Next
From:
Norman Gaywood
Date:
September 18, 2017 06:18
Subject:
mkdir not failing appropriately?
Message ID:
CAHJ-_U5Gg9U24qK0X4vzW45ApwPGNEd44AoukSSu4b=jKyzUuw@mail.gmail.com
$ perl6 -v
This is Rakudo version 2017.07 built on MoarVM version 2017.07
implementing Perl 6.c.
$ perl6
To exit type 'exit' or '^D'
> '/'.IO.d
True
> try { mkdir '/' }
"/".IO
> if $! { say "Fail" } else { say "Bazinga" }
Bazinga

So the  mkdir / would have failed because the dir exists. But it is a .d so
maybe that's ok.

Lets try mkdir on an existing file that we also have permissions to modify.

> 'afile'.IO.d
False
> 'afile'.IO.e
True
> try { mkdir 'afile' }
"afile".IO
> if $! { say "Fail" } else { say "Bazinga" }
Bazinga
> 'afile'.IO.d
False
>

Surely that mkdir should fail?

mkdir does fail properly sometimes:

> try { mkdir '/root/noway' }
Nil
> if $! { say "Fail" } else { say "Bazinga" }
Fail

In perl5:

  DB<3> mkdir "afile" or warn "$!\n"
File exists
 DB<4> mkdir "/" or warn "$!\n"
File exists
 DB<5> mkdir "/root/noway" or warn "$!\n"
Permission denied
  DB<6> mkdir "adir" or warn "$!\n"

  DB<7> mkdir "adir" or warn "$!\n"
File exists

-- 
Norman Gaywood, Computer Systems Officer
School of Science and Technology
University of New England
Armidale NSW 2351, Australia

ngaywood@une.edu.au  http://turing.une.edu.au/~ngaywood
Phone: +61 (0)2 6773 2412  Mobile: +61 (0)4 7862 0062

Please avoid sending me Word or Power Point attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html

Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About