使用visual slickedit中的参数调用perl脚本,然后将输出作为参数传递给visual slick edit进行进一步处理

使用visual slickedit中的参数调用perl脚本,然后将输出作为参数传递给visual slick edit进行进一步处理,perl,slickedit,Perl,Slickedit,我试图通过一个.e文件从slickedit.调用一个perl脚本,我将使用该文件创建一个宏。perl脚本基本上是一个xml解析器,它解析一个.xml文件,该文件的结构是根据.dtd文件定义的 下面是我用来调用perl脚本的.e文件 _command void invoke(){ shell("C:\\Users\\anits\\Desktop\\trial.pl"); } 要调用的perl脚本如下所示 use XML::Simple; use Data::Dumper; open logfi

我试图通过一个.e文件从slickedit.调用一个perl脚本,我将使用该文件创建一个宏。perl脚本基本上是一个xml解析器,它解析一个.xml文件,该文件的结构是根据.dtd文件定义的

下面是我用来调用perl脚本的.e文件

_command void invoke(){

shell("C:\\Users\\anits\\Desktop\\trial.pl");
}
要调用的perl脚本如下所示

use XML::Simple;
use Data::Dumper;
open logfile,">test.txt";
#sub process{
$xml = new XML::Simple (KeyAttr=>[]);# read XML file
my $error =$xml->XMLin("trial.xml");
print "There are " . scalar(@{$error->{problem}}) . " problems.\n";
foreach my $var (@{$error->{problem}}) {
print logfile $var->{name}."\n";
}
close logfile;
@args = ("C:/Program Files (x86)/SlickEdit 2009/win/vs.exe","C:/Users/anits/Desktop/test.txt");
system(@args) == 0  or die "system @args failed: $?";
正如您所看到的,我的perl脚本应该在slickedit中打开一个txt文件。但是我没有得到任何输出。所以请帮助我

如果xml解析可以使用slickc完成,请建议一种方法。
谢谢,我希望我的问题现在清楚了

正如达克西姆指出的那样,你的问题并不完全清楚,所以我的回答会有点笼统

我不确定这是否是最干净的方式,因为它使用固定的临时文件,但我在过去的工作中编写了调用脚本的编辑代码。。。将外部脚本输出到一个众所周知的临时文件中,然后使用光滑的编辑代码在输出后解析临时文件

不记得确切的原因,但在windows下,我还将脚本的执行包装在一个批处理文件中,该批处理文件实现了对命名文件的重定向,可能我有引用问题

这通常是它看起来的样子

static str mytmp='somepath'
 <construct command_string, which will direct output to the well known file location 'somepath'>
shell(command_string, 'qp');

get(mytmp);
top();
get_line(line);
do work with line;
问题是什么?并改进解释:明确区分每个步骤。添加一些示例数据。具体说明你试图做什么,你期望得到什么结果,如果不同,你实际得到了什么结果。