#!/usr/bin/perl use strict; use warnings; use File::Find; find sub { my $filename = $File::Find::name; my ( $mode, $uid, $gid, $mtime ) = ( stat $filename )[ 2, 4, 5, 9 ]; my $mdate = localtime( $mtime ); # discard file type info from 'mode' and put in usual numeric format my $perms = sprintf( "%04o", $mode & 07777 ); print "# ORIG PERM = $filename\t$uid\t$gid\t$perms\t$mdate\n"; print "chmod $perms $filename\n"; print "chown $uid:$gid $filename\n"; }, @ARGV ? @ARGV : '.';