在 Perl 中使用 Path::Tiny 时缓存文件内容?

问题描述

我有以下代码片段:

use strict;
use warnings;
use MyLibrary::JSON;
use Path::Tiny;
use File::Spec::Functions;
use MyLibrary::Constants qw(SOME_DIR);

use constant CONfig_DIR => catfile(SOME_DIR,"path/to/file");
use constant FILENAME => 'FileName.json';

sub read_file {
    my $json_parser = MyLibrary::JSON->new;
    my $error;
    my $parsed;
    eval {
        my $content = Path::Tiny::path(CONfig_DIR,FILENAME)->slurp;
        $parsed = $json_parser->decode($content);
        1;
    } or do {
        $error = $@ || "(zombie)";
    };
    if ($error) {
        die "Error parsing: $error";
    }
    return $parsed;
}

我希望读取和解析操作只执行一次并将其放入缓存中。

鉴于我使用的是 Path::Tiny,是否有必要使用任何框架?

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)