# Check if a destination is defined
unless (defined $destination) {
showUsage ();
}
I would like an improved error message here, like
# Check if a destination is defined
unless (defined $destination) {
print "No destination given.\n";
showUsage ();
}
And at the place where you run rsync, you capture all of its (voluminous) output just to print it out right afterwards:
# Run the program and show the output
my @result;
@result = `$cmd 2>&1`;
foreach my $result (@result) {
print $result;
chomp $result;
}
I would change that to simply use system instead, which will do the printing directly. This would also add error checking so your script signals if the underlying rsync failed:
# Run the program and show the output
system( "$cmd 2>&1") == 0
or die "rsync failed: $! / $?";
Of course, if you really want/need to do post-processing of the rsync output, as your chomp indicates, you will need to capture the output as you did. |