Manual

- Overview
- Tutorials
- FAQs
- History / Changes
- License

Reference

- Language
- Functions
- Operators
- Special Variables
- Pragmas
- Utilities
- Internals
- Platform Specific

Modules

- A • B • C • D • E
- F • G • H • I • L
- M • N • O • P • S
- T • U • X

News / Blogs

- Perl Buzz
- Perl Iron Man
- Perlsphere
- Planet Perl
- TPF news
- Use Perl

See also

- CPAN
- Perl.org
- Perl.com
- Perl 5 Wiki
- Perl Jobs
- Perl Mongers
- Perl Monks

Contact

- Site designed and maintained by Jon Allen (JJ)
- http://perl.jonallen.info

- View the project page and FAQs

# chown

Perl 5 version 10.1 documentation
Go to top

# chown

Perl functions A-Z | Perl functions by category | The 'perlfunc' manpage

- chown LIST

  Changes the owner (and group) of a list of files. The first two elements of the list must be the numeric uid and gid, in that order. A value of -1 in either position is interpreted by most systems to leave that value unchanged. Returns the number of files successfully changed.

          $cnt = chown $uid, $gid, 'foo', 'bar';    chown $uid, $gid, @filenames;

  On systems that support fchown, you might pass file handles among the files. On systems that don't support fchown, passing file handles produces a fatal error at run time. The file handles must be passed as globs or references to be recognized. Barewords are considered file names.

  Here's an example that looks up nonnumeric uids in the passwd file:

          print "User: ";    chomp($user = <STDIN>);    print "Files: ";    chomp($pattern = <STDIN>);    ($login,$pass,$uid,$gid) = getpwnam($user)	or die "$user not in passwd file";    @ary = glob($pattern);	# expand filenames    chown $uid, $gid, @ary;

  On most systems, you are not allowed to change the ownership of the file unless you're the superuser, although you should be able to change the group to any of your secondary groups. On insecure systems, these restrictions may be relaxed, but this is not a portable assumption. On POSIX systems, you can detect this condition this way:

          use POSIX qw(sysconf _PC_CHOWN_RESTRICTED);    $can_chown_giveaway = not sysconf(_PC_CHOWN_RESTRICTED);

Recently read

Tools

- Preferences