问题描述
我正在使用Perl版本5.18。我没有准备将perl升级到新版本。当我从命令行传递CGI查询参数时,脚本可以正常运行并且可以正常运行,但是它显示了不必要的HTML标记和其他内容( ),这些都想隐藏从终端。这些是从浏览器执行脚本所必需的。因此,在不影响从浏览器运行的cgi的功能的情况下,是否有任何简便的方法从命令行/终端运行时仅获取必要的输出?
解决方法
最好的方法是将数据提取与提取数据的表示分开。
我将数据提取代码移至模块中。然后,您可以从CGI程序中调用该模块,然后将其包装在适当的HTML层中。
然后,您可以编写程序的命令行版本,该版本使用相同的模块提取正确的数据,然后将其包装在要用于在控制台上显示数据的任何文本中。
添加不需要的表示层(例如当前的HTML)绝不是一个好主意。最好从头开始重写以提供所需的内容。
(但是,如果您真的很着急,我可能会考虑另一种方法。编写一个屏幕抓取器来抓取您的HTML页面并从中提取数据。)