Two small things:
# 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.
In reply to Re: Feedback on my second script
by Corion
in thread Feedback on my second script
by Jackiejarvis
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |