1#!/usr/bin/perl 2 3use lib '..'; 4use Memoize 'memoize', 'unmemoize'; 5 6sub reff { 7 return [1,2,3]; 8 9} 10 11sub listf { 12 return (1,2,3); 13} 14 15print "1..6\n"; 16 17memoize 'reff', LIST_CACHE => 'MERGE'; 18print "ok 1\n"; 19memoize 'listf'; 20print "ok 2\n"; 21 22$s = reff(); 23@a = reff(); 24print @a == 1 ? "ok 3\n" : "not ok 3\n"; 25 26$s = listf(); 27@a = listf(); 28print @a == 3 ? "ok 4\n" : "not ok 4\n"; 29 30unmemoize 'reff'; 31memoize 'reff', LIST_CACHE => 'MERGE'; 32unmemoize 'listf'; 33memoize 'listf'; 34 35@a = reff(); 36$s = reff(); 37print @a == 1 ? "ok 5\n" : "not ok 5\n"; 38 39@a = listf(); 40$s = listf(); 41print @a == 3 ? "ok 6\n" : "not ok 6\n"; 42 43 44