- # Don't process if not expecting this file (because released later
- # than this Unicode version), and isn't there. This means if someone
- # copies it into an earlier version's directory, we will go ahead and
- # process it.
- return if $first_released{$addr} gt $v_version
- && (! defined $file || ! -e $file);
-
- # If in debugging mode and this file doesn't have the non-skip
- # flag set, and isn't one of the critical files, skip it.
- if ($debug_skip
- && $first_released{$addr} ne v0
- && ! $non_skip{$addr})
- {
- print "Skipping $file in debugging\n" if $verbosity;
- return;
- }
-
- # File could be optional
- if ($optional{$addr}) {
- return unless -e $file;
- my $result = eval $optional{$addr};
- if (! defined $result) {
- Carp::my_carp_bug("Got '$@' when tried to eval $optional{$addr}. $file Skipped.");
- return;
- }
- if (! $result) {
- if ($verbosity) {
- print STDERR "Skipping processing input file '$file' because '$optional{$addr}' is not true\n";
- }
- return;
- }
- }
-
- if (! defined $file || ! -e $file) {
-
- # If the file doesn't exist, see if have internal data for it
- # (based on first_released being 0).
- if ($first_released{$addr} eq v0) {
- $handle{$addr} = 'pretend_is_open';
- }
- else {
- if (! $optional{$addr} # File could be optional
- && $v_version ge $first_released{$addr})
- {
- print STDERR "Skipping processing input file '$file' because not found\n";
- }
- return;
- }