http://www.perlmonks.org?node_id=985336


in reply to Simple Perl Backup help

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

Replies are listed 'Best First'.
Re^2: Simple Perl Backup help
by laxman526 (Initiate) on Aug 03, 2012 at 20:51 UTC

    Great info! Thank you so much. I'll add these tools to my Perl arsenal.