Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: current directory

by kcott (Archbishop)
on Jul 01, 2013 at 04:36 UTC ( [id://1041732] : note . print w/replies, xml ) Need Help??


in reply to current directory

Apart from the file not existing in the current directory, you may not have appropriate permissions to delete the file or the problem may be as simple as mistyping the file's name. Here's a number of tools you may find useful:

  • unlink can tell you why the file wasn't deleted.
  • Use Cwd to determine what the current directory is.
  • Use chdir to change the current directory.
  • Use file test operators to check for the existence of the file and what its permissions are.
  • Use opendir and readdir to list all the files in a particular directory.
  • Use qx{...} or `...` (see perlop - Quote-Like Operators) to run whatever commands are available on your OS to do any of the above.

-- Ken

Replies are listed 'Best First'.
Re^2: current directory
by Anonymous Monk on Jul 01, 2013 at 05:31 UTC
    file names are same ; and i did cwd , it still says the same error . i was hoping is there any command that brings us to the current directory ? and if anyone can please state what could be the reason for permission deniale
      "file names are same ; and i did cwd , it still says the same error ."

      There were no replies when I started composing my response. My post was not related to Athanasius' post nor your 'hey it says "permission denied "'.

      "i was hoping is there any command that brings us to the current directory ?"

      That would be chdir — follow the link I posted above.

      "and if anyone can please state what could be the reason for permission deniale"

      That would depend on your OS. On *nix, it usually means you don't have write access to either the directory or the specific file.

      Your questions suggest you're unfamiliar with the OS you're working on. I'd recommend seeking advice from the system administrator.

      -- Ken

        I am working on windows xp
      #!/usr/bin/perl -- use strict; use warnings; Main( @ARGV ); exit( 0 ); sub Fudge { use Errno(); join qq/\n/, "Error @_", map { " $_" } int( $! ) . q/ / . $!, int( $^E ) . q/ / . $^E, grep( { $!{$_} } keys %! ), q/ /; } sub Main { for my $unfile ( 'NUL', './..', 'XYZQQQQQQQQQ', ){ unlink $unfile or warn Fudge( $unfile ); } } __END__ Error NUL 22 Invalid argument 87 The parameter is incorrect EMARCH_ENC_I17_IMM41a_VAL_POS_X EMR_SETTEXTALIGN EVENT_SYSTEM_MINIMIZESTART ERROR_BAD_COMMAND EINVAL at - line 20. Error ./.. 22 Invalid argument 5 Access is denied EMARCH_ENC_I17_IMM41a_VAL_POS_X EMR_SETTEXTALIGN EVENT_SYSTEM_MINIMIZESTART ERROR_BAD_COMMAND EINVAL at - line 20. Error XYZQQQQQQQQQ 2 No such file or directory 2 The system cannot find the file specified ETO_OPAQUE ERROR_LABEL_QUESTIONABLE EDS_RAWMODE EWX_REBOOT EC_QUERYWAITING EIMES_CANCELCOMPSTRINFOCUS ENOENT ELEMENT_STATUS_IMPEXP ENABLE_WRAP_AT_EOL_OUTPUT ES_RIGHT EV_RXFLAG ERROR_FILE_NOT_FOUND EVENTLOG_WARNING_TYPE EVENPARITY ENOFILE ESB_DISABLE_RTDN EMARCH_ENC_I17_IMM41c_INST_WORD_X EEInfoNextRecordsMissing ES_DISPLAY_REQUIRED ESB_DISABLE_RIGHT EVENT_MODIFY_STATE EMR_POLYBEZIER ENABLE_LINE_INPUT EVENT_SYSTEM_ALERT EXCEPTION_UNWINDING EC_RIGHTMARGIN EVENTLOG_END_PAIRED_EVENT EXTEND_IEPORT ExceptionNestedException ESB_DISABLE_DOWN EVENTLOG_SEEK_READ at - line 20.