package FileCache;
-our $VERSION = '1.06';
+our $VERSION = '1.08';
=head1 NAME
=head1 SYNOPSIS
+ no strict 'refs';
+
use FileCache;
# or
use FileCache maxopen => 16;
close a file. When the file is reopened, the offset will be as specified by the
original C<open> file mode. This could be construed to be a bug.
+The module functionality relies on symbolic references, so things will break
+under 'use strict' unless 'no strict "refs"' is also specified.
+
=head1 BUGS
F<sys/param.h> lies with its C<NOFILE> define on some systems,
require 5.006;
use Carp;
-use Config;
use strict;
no strict 'refs';
sub cacheout_close {
# Short-circuit in case the filehandle disappeared
my $pkg = caller($_[1]||0);
- fileno(*{$pkg . '::' . $_[0]}) &&
+ defined fileno(*{$pkg . '::' . $_[0]}) &&
CORE::close(*{$pkg . '::' . $_[0]});
delete $isopen{$_[0]};
}