我想将文本作为变量而不是文件传递。 我不知道如何用一个例子来解释这个问题。
我有一个perl脚本,用法如下printme.pl [file] 我希望在不传入文件的情况下运行并只传递文本。
echo print_me | perl printme.pl
而不是
perl printme.pl textfile.txt
我正在尝试运行一个perl脚本,它将文本文件作为变量并使用echo输出。
答案 0 :(得分:2)
bash(在其他shell中)有一个名为process substitution的功能。在此功能中,您可以添加一些输出到stdout的shell代码,并让shell将其视为文件。
在你的情况下,你会写:
perl printme.pl <(echo "hello world")
Perl会在$ ARGV [0]中收到一个类似/ dev / fd / 63的文件名,它可以从中读取&#34; hello world \ n&#34;