in reply to Re^2: Regular expression to check for invalid file name characters
in thread Regular expression to check for invalid file name characters

If it succeeds, then you'd have to delete it again--assuming the idea is to just check, not actually use.

I assumed the opposite. When we get questions like this, the check is followed by actually opening or creating the file.

How would you do that reliably?

Errno provides codes against which you can check $!.

  • Comment on Re^3: Regular expression to check for invalid file name characters
  • Download Code

Replies are listed 'Best First'.
Re^4: Regular expression to check for invalid file name characters
by BrowserUk (Patriarch) on Feb 22, 2010 at 16:37 UTC
    I assumed the opposite.

    Even so, you could still succeed in creating a file within a subdirectory by accident.


    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.
      I was trying to make the application as user friendly as possible. Therefore I thought it worthwhile checking that all the characters supplied could be used (rather than getting a system error message which may not be that good to work with).
      Also, I should have said that I am working on Windows - hence the list of invalid characters I gave in the subroutine.

        I understand. And I think it is a good thing to check if the filenames are supplied by (especially novice) users.

        If they enter a filename "temp\fred.txt", you could end creating fred.txt in the temp subdirectory rather than their expectation on a file called temp\fred.txt in \.


        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        "Science is about questioning the status quo. Questioning authority".
        In the absence of evidence, opinion is indistinguishable from prejudice.