http://qs321.pair.com?node_id=317020

wolverina has asked for the wisdom of the Perl Monks concerning the following question:

This dosen't change the permission for $A_file... Why? -Lisa
$A_file = "file1.cgi"; $B_file = "file2.cgi"; use File::Copy; copy ($B_file, $A_file); chmod 0755, $A_file;

Replies are listed 'Best First'.
Re: simple chmod
by TVSET (Chaplain) on Dec 25, 2003 at 23:58 UTC
    The code itself looks OK. First, you can examine chmod's return value. Manual says that it returns the number of successfully chmod'ed files. So you can do something like:

    chmod $mod, $file or die "Couldn't chmod $file";

    Then you can check if you have enough permissions to change attributes of the file. If you want to incorporate this checks into your program, then read the "perldoc -f -X".

    HTH.

      chmod $mod, $file or die "Couldn't chmod $file";
      A good suggestion, but lacking. If you add just five or so characters you get something much more useful:
      chmod $mod, $file or die "Couldn't chmod $file: $!\n";
      That will probably reveal the reason for the chmod failure without requiring any further investigation.

      Makeshifts last the longest.

        Actually, that is what I was writing, but didn't finish for some reason. :)
        I guess I need more sleep rather then more of these NOC shifts. :)