【问题标题】:Getting "No such file or directory" error in simple perl Dancer app在简单的 perl Dancer 应用程序中出现“没有这样的文件或目录”错误
【发布时间】:2014-08-02 07:44:53
【问题描述】:

按照 Perl Dancer 的“dwimmer”教程: http://perlmaven.com/building-a-blog-engine-using-perl-dancer

但我遇到了运行时错误:

write_file '' - sysopen: 没有这样的文件或目录

Here is the app.pl:

package miniblog;
use Dancer ':syntax';
use File::Slurp qw(read_file write_file);

our $VERSION = '0.1';

get '/' => sub {
    template 'index';
};

get '/page' => sub {
    template 'page';
};

post '/page' => sub {
    my $file = config->{miniblog} {json};
    my $json = -e $file ? read_file $file : '{}';
    my $data = from_json $json;

    my $now = time;
    $data->{$now} = {
        title => params->{title},
        text => params->{text},
};
    write_file $file, to_json $data;
    redirect '/';

};

true;

这里也是 config.yaml 文件的一部分:

    template: "template_toolkit"
# engines:
template_toolkit:
encoding: 'utf8'
#     start_tag: '[%'
#     end_tag:   '%]'

miniblog: 
json: /home/rocko/Dancer_Projects/miniblog/miniblog.json

【问题讨论】:

    标签: perl dancer


    【解决方案1】:

    缩进总是很重要,但在 YAML 中尤为重要。您糟糕的缩进使您的代码难以阅读,并且使您的 YAML 与预期不同。

    改变

        template: "template_toolkit"
    # engines:
    template_toolkit:
    encoding: 'utf8'
    #     start_tag: '[%'
    #     end_tag:   '%]'
    
    miniblog: 
    json: /home/rocko/Dancer_Projects/miniblog/miniblog.jsonto
    

    template: "template_toolkit"
    
    template_toolkit:
         encoding:    'utf8'
         # start_tag: '[%'
         # end_tag:   '%]'
    
    miniblog: 
        json: /home/rocko/Dancer_Projects/miniblog/miniblog.jsonto
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-11
      • 2010-12-18
      • 1970-01-01
      • 2017-12-08
      • 2021-10-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多