A lot of your input code can be reduced to:
use IO::Prompt::Tiny qw/prompt/; my $answer = prompt("Yes or no? (y/n)", "n");
...by using IO::Prompt::Tiny. Then your user-input code could be reduced to the following:
if( prompt( "Backup $path? (y/n)", 'y' ) =~ m/^y/i ) { print "Backup beginning...\n"; perform_backups( @backup_dirs ); print "Backup complete.\n"; } else { print "No backups performed. Exiting.\n" } sub perform_backups { my @directories = @_; # Your backup code here. }
You could also warn instead of die if one or more backups failed, and then just keep on processing the rest (or prompt for what to do).<?p>
prompt() is convenient to use anywhere that user input is desired. If you need stronger input validation, IO::Prompt provides a richer set of tools, but adds some complexity.
Dave
In reply to Re: Simple Perl Backup help
by davido
in thread Simple Perl Backup help
by laxman526
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |