#!/usr/bin/perl
use strict;
use warnings;
if(@ARGV < 3) {
print <<"END";
Usage: $0 [options] srcdir destdir file1 [file2 [file3 [...]]]
Hard links given files in destdir to originals in srcdir.
Options:
-s Use soft links
-v Verbose--list each file as it's linked
END
exit;
}
my %opts;
$opts{pop @ARGV}=1 while $ARGV[0] =~ /^-/;
my($srcdir, $destdir, @files)=@ARGV;
for(@files) {
do_link("$srcdir/$_", "$destdir/$_") or die "Can't link $srcdir/$_
+ to $destdir/$_: $!";
print "$srcdir/$_ -> $destdir/$_\n" if $opts{-v};
}
sub do_link {
if($opts{-s}) {
return symlink($_[0], $_[1]);
}
else {
return link($_[0], $_[1]);
}
}