我正在编写一个创建HTML输出的Perl脚本,我希望在用户首选的浏览器中打开它。有没有办法做到这一点?我找不到使用ShellExecute
的方法,因为我没有http:
地址。
答案 0 :(得分:4)
假设您将输出保存为“../data/index.html”,
$ret = system( 'start ..\data\index.html' );
应该在默认浏览器中打开文件。
添加了:
my $filename = "/xyzzy.html"; #whatever
system("start file://$filename");
答案 1 :(得分:1)
如果我理解你要做什么,这将无效。您必须设置一个Web服务器,如apache并将其配置为执行您的脚本。如果你以前从未这样做过,这不是一项微不足道的任务。
答案 2 :(得分:1)
由于这是Windows,因此简单的选择是使用File::Temp
将数据转储到临时文件(确保它具有扩展名.htm或.html,并且不会立即在脚本上清除它退出,这样文件仍然存在,即你可能需要像File::Temp->new(UNLINK => 0, SUFFIX => '.htm')
这样的东西。然后您应该能够使用Win32::FileOp
的{{1}}定期打开文件。这确实使得有关文件类型的各种假设与文件扩展名相关联,但是,这就是Windows的工作方式。