AI-MicroStructure
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
bin/micro-relation view on Meta::CPAN
#!/usr/bin/perl -X
use JSON;
use JSON::XS;
use Data::Printer;
use Data::Dumper;
use WWW::Wikipedia;
use Try::Tiny;
my $lang = $ENV{MICRO_LANG} || "en" ;
my $wiki = WWW::Wikipedia->new(language => $lang);
use Cache::Memcached::Fast;
our $memd = new Cache::Memcached::Fast({
servers => [ { address => 'localhost:11211', weight => 2.5 }],
namespace => 'my:',
connect_timeout => 0.2,
io_timeout => 0.1,
close_on_error => 1,
compress_threshold => 100_000,
compress_ratio => 0.9,
max_failures => 1,
max_size => 512 * 1024,
});
sub decruft {
my($file) = @_;
my($cruftSet) = q{%ç&|#[^+*(]),'";};
my $clean = $file;
$clean=~s/\Q$_//g for split("",$cruftSet);
return $clean;
}
sub rel {
my $arg = shift;
my $lang = shift;
if(defined(my $fromCache = $memd->get($arg))){
return $fromCache;
}
my $result = $wiki->search($arg);
my $str = "";
if (defined($result) && $result->text() ) {
try{
$str = join( "\n", $result->related() );
$str = decruft($str);
$memd->set($arg,$str);
};
}
return $str;
}
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.670 second using v1.00-cache-2.02-grep-82fe00e-cpan-eb20b53101e )