From 70e1966cefc1bbdb2e1377efc896e3cffb295d45 Mon Sep 17 00:00:00 2001 From: Pierre VIGIER Date: Wed, 20 Jan 2016 00:07:04 +0800 Subject: [PATCH] Make it more perl6-ish --- lib/Cache/LRU.pm | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/lib/Cache/LRU.pm b/lib/Cache/LRU.pm index e59aa4c..b99f617 100644 --- a/lib/Cache/LRU.pm +++ b/lib/Cache/LRU.pm @@ -45,16 +45,8 @@ class Cache::LRU { @!fifo.push( ($key, $entry) ); if @!fifo.elems >= $.size * GC_FACTOR { - my %need; - for %!entries.keys -> $k { - %need{$k} = 1; - } - my @new_fifo = gather while (%need.elems) { - my $fifo_entry = @!fifo.shift; - take $fifo_entry - if %need{$fifo_entry.[0]}:delete; - } - @!fifo = @new_fifo; + my %need = %!entries.keys X=> 1; + @!fifo .= grep( { %need{$_.[0]}:delete } ); } }