输入参数是Perl的文件或内容

时间:2019-06-17 10:35:44

标签: perl

我编写了一个Perl脚本,用于从TEX格式转换为JSON格式。

调用批处理文件:

ArrayList

现在工作正常。

具有来自另一程序(可能是任何平台/技术)的两种输入的Perl脚本,一种是文件(* TEX)或内容(* TEX文件)此选项或该选项。 / p>

如何接收全部内容作为Perl脚本的输入?

现在我的Perl脚本是:

 perl -w C:\test\support.pl TestingSample.tex

我正在尝试更新:

 my $texfile = $ARGV[0]; my $texcnt = "";
 readFileinString($texfile, \$texcnt);

我收到错误消息:

 perl -w C:/test/support.pl --input $texcnt" #Content is Input

有人可以请教吗?

1 个答案:

答案 0 :(得分:0)

首先,您会遇到以下错误: Perl(或您的Shell)抱怨您的输入参数太长。

将整个文件作为脚本的参数进行解析通常是一个坏主意,例如,可能无法处理引号转义等问题,从而给您的整个系统留下了广泛的漏洞!

因此,解决方案是修改脚本,以便可以将文件作为参数(如果不是这种情况),并且如果您确实需要将整个文件的内容解析为参数,我d真的建议您在/tmp/(如果在Linux中)或Windows的%TEMP%目录中创建一个临时文件,并将文件的内容解析为文件,然后将support.pl将新的临时文件脚本化为参数。