On 4/2/25 6:08 PM, Bruce Gray wrote:


On Apr 2, 2025, at 19:47, ToddAndMargo via perl6-users <perl6-users@perl.org> 
wrote:

--snip--

   raku -e "say 
'\\192.168.240.10\oldserver\Backup\MyDocsBackup\backup1'.IO.d.Bool;"
   False

--snip--

Moving this one-liner into a .raku file (to remove the complication of Windows 
needing double-quotes for our `-e`), and removing `.IO.d.Bool`, I ran just this 
line:
        say '\\192.168.240.10\oldserver\Backup\MyDocsBackup\backup1';
The output is:
                \192.168.240.10\oldserver\Backup\MyDocsBackup\backup1
So, the initial two backslashes are becoming a single backslash.
You need a quoting that does not special-case doubled backslashes (like the Q[] 
I have seen you use), or to enter the path with initial quadruple backslashes.

Does changing your one-liner to this:
        raku -e "say 
Q[\\192.168.240.10\oldserver\Backup\MyDocsBackup\backup1].IO.d.Bool;"
> fix the problem?

Yes.

raku -e "say Q[\\192.168.240.10\oldserver\Backup\MyDocsBackup\backup1].IO.d.Bool;"
True

raku -e "say Q[\\192.168.240.10\oldserver\Backup\MyDocsBackup\backup10].IO.d.Bool;"
False

Now how do I encode a variable inside a Q[]?



If not, remove the `.Bool` just for a test run. You might still get False (like 
if the path exists but is not a directory), or you might get a Exception that 
gives you more detail of what is going wrong (like `Failed to find ...`, with 
the exact path that it was *actually* looking for).


Reply via email to