gpt4 book ai didi

perl - (Perl) 从文件中读取字符串时是否可以插入变量?

转载 作者:行者123 更新时间:2023-12-02 09:06:26 27 4
gpt4 key购买 nike

我正在编写一个脚本,其中包含一些传递给字符串的变量,然后将它们打印出来。初始字符串只有 6 行,我不需要外部文件,但我现在有一个可以填充 1000 多行的新字符串。新字符串还有一些字段将被脚本中声明的变量替换。

文本文件是这样的:

Hello $name

代码应该有几个部分。

  1. 变量声明
my $name = 'Foo';
  1. 打开文件并将其读入字符串。
my $content;
open(my $fh, '<', $filename) or die "cannot open file $filename";
{
local $/;
$content = <$fh>;
}
close($fh);
  1. 打印字符串
print $content

预期结果:

Hello Foo

我想知道是否可以从文件中读取“Hello $name”但将其打印为“Hello Foo”,因为变量名称被声明为 Foo。

最佳答案

所以你希望你的文件是一个模板。为什么不使用适当的模板语言,如 this one

use Template qw( );

my %vars = (
name => "Foo",
);

my $tt = Template->new();
$tt->process($qfn, \%vars)
or die($tt->error());

模板:

Hello [% name %]

可以使用 ->process 的第三个参数捕获而不是打印输出。

关于perl - (Perl) 从文件中读取字符串时是否可以插入变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57812884/

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