File::lchown - modify attributes of symlinks without dereferencing them
File::lchown
use File::lchown qw( lchown lutimes ); lchown $uid, $gid, $linkpath or die "Cannot lchown() - $!"; lutimes $atime, $mtime, $linkpath or die "Cannot lutimes() - $!";
The regular chown system call will dereference a symlink and apply ownership changes to the file at which it points. Some OSes provide system calls that do not dereference a symlink but instead apply their changes directly to the named path, even if that path is a symlink (in much the same way that lstat will return attributes of a symlink rather than the file at which it points).
chown
lstat
Set the new user or group ownership of the specified paths, without dereferencing any symlinks. Passing the value -1 as either the $uid or $gid will leave that attribute unchanged. Returns the number of files successfully changed.
-1
$uid
$gid
Set the access and modification times on the specified paths, without dereferencing any symlinks. Passing undef as both $atime and $mtime will update the times to the current system time.
undef
$atime
$mtime
Note that for both lchown and lutimes, if more than one path is given, if later paths succeed after earlier failures, then the value of $! will not be reliable to indicate the nature of the failure. If you wish to use $! to report on failures, make sure only to pass one path at a time.
lchown
lutimes
$!
Implement sub-second precision on lutimes, most likely by taking floats or two-element ARRAY refs, similar to Time::HiRes uses.
Time::HiRes
lchown(2) - change ownership of a file
lchown(2)
lutimes(2) - change file timestamps
lutimes(2)
Paul Evans <leonerd@leonerd.org.uk>
To install File::lchown, copy and paste the appropriate command in to your terminal.
cpanm
cpanm File::lchown
CPAN shell
perl -MCPAN -e shell install File::lchown
For more information on module installation, please visit the detailed CPAN module installation guide.