in reply to comparison of character

A couple other points to ponder:

print "Do you wish to update (Y/N)?\n";

You likely added the \n to ensure the prompt prints for the user. See $| to print without buffering, so you don't need the trailing newline:

$| = 1; print "Do you wish to update (Y/N)? ";

The overall structure leaves a bit to be desired. What about something more along these lines?

$| = 1; my $choice; do { print "Do you wish to update (Y/N)? "; $choice = lc <>; chomp $choice; } until ($choice =~ /^[yn]$/i); say "You picked `$choice'";

This will repeat the prompt if the input is invalid, and normalizes the input by converting it to lowercase, to simplify your code later in the program.