gpt4 book ai didi

perl - 如何检测模板工具包中的数组类型?

转载 作者:行者123 更新时间:2023-12-02 08:33:43 24 4
gpt4 key购买 nike

我需要在模板工具包中为数组类型的附件检测一些变量。有最佳做法吗?

最佳答案

可以定义一个自定义虚拟方法,该方法返回所提供变量的 ref 类型。粗略的例子:

#!/usr/bin/perl
use strict;
use warnings;
use Template;
use Template::Stash;

$Template::Stash::SCALAR_OPS->{ ttref } = \&ttref;
$Template::Stash::LIST_OPS ->{ ttref } = \&ttref;
$Template::Stash::HASH_OPS ->{ ttref } = \&ttref;

my $t = Template->new( );

$t->process( \*DATA, { vars => [ 1, [ ], { } ] } );

sub ttref
{
return ref $_[0];
}

__DATA__
[% FOREACH var IN vars -%]
ref type of [% var %] is [% var.ttref %]
[% END %]

输出:

ref type of 1 is 
ref type of ARRAY(0x9cfbd0) is ARRAY
ref type of HASH(0x9cfc00) is HASH

关于perl - 如何检测模板工具包中的数组类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23912898/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com