in reply to foreach loop on one line
I'd suggest:
print "$_ could not be restored!\n" for grep { not exists $found{$_} } @files; [download]
print map {"$_ could not be restored!\n" } grep { not exists $found{$_} } @files; [download]