X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2Fcacheout.pl;h=d2669a1cfa82f60c16250250790eae66f0c640ca;hb=1e73acc8af3eecb1b36ee831483e1e9a7b3d1662;hp=bec40bde62beb5077a26e1a7b41539e2b8301653;hpb=55204971972392ce5a252fbbd6d78b1c48ed70e3;p=p5sagit%2Fp5-mst-13.2.git diff --git a/lib/cacheout.pl b/lib/cacheout.pl index bec40bd..d2669a1 100644 --- a/lib/cacheout.pl +++ b/lib/cacheout.pl @@ -1,4 +1,11 @@ -#!/usr/bin/perl +# +# This library is no longer being maintained, and is included for backward +# compatibility with Perl 4 programs which may require it. +# +# In particular, this should not be used as an example of modern Perl +# programming techniques. +# +# Suggested alternative: FileCache # Open in their package. @@ -6,6 +13,12 @@ sub cacheout'open { open($_[0], $_[1]); } +# Close as well + +sub cacheout'close { + close($_[0]); +} + # But only this sub name is visible to them. sub cacheout { @@ -17,7 +30,7 @@ sub cacheout { local(@lru) = sort {$isopen{$a} <=> $isopen{$b};} keys(%isopen); splice(@lru, $maxopen / 3); $numopen -= @lru; - for (@lru) { close $_; delete $isopen{$_}; } + for (@lru) { &close($_); delete $isopen{$_}; } } &open($file, ($saw{$file}++ ? '>>' : '>') . $file) || die "Can't create $file: $!\n"; @@ -31,7 +44,7 @@ $seq = 0; $numopen = 0; if (open(PARAM,'/usr/include/sys/param.h')) { - local($.); + local($_, $.); while () { $maxopen = $1 - 4 if /^\s*#\s*define\s+NOFILE\s+(\d+)/; }