#!/usr/bin/perl require 'getargs.pl'; $ShadowDir = '.'; $Verbose = 0; $SkipDefault = '^(RCS|SCCS|CVS)$'; $Skip = $ENV{ 'SHADOWSKIP' } || $SkipDefault; $TreeOnly = 0; $Usage = <<_help_message_ makes a copy if specified in the current directory not of for each under with same name is created shadow non-directory object symbolic link to it equivalent place shadow. option causes only structure be copied no links are or modified. this will relink existing but affect any real file system objects an directory. names these pre-existing printed specified. normally invisible files directories whose begins shadowed. you may specify other skipped argument specifies perl regular expression. default skip named overridden by environment variable and all made through that provides easy way switch between changed can create direct specifying option. _help_message_ exit defined print die both unless s m relative path allowed as read _ mkdir symlink else write readlink ne unlink replace elsif already exists sub shadowdir local opendir thisdir open readdir closedir foreach next descendinto subdirectory returnfrom error invalid downpath uppath mklink uses globals return : trying warn>