从Perl打开本地网页

时间:2011-07-25 19:17:52

标签: perl preferences

我正在编写一个创建HTML输出的Perl脚本,我希望在用户首选的浏览器中打开它。有没有办法做到这一点?我找不到使用ShellExecute的方法,因为我没有http:地址。

3 个答案:

答案 0 :(得分:4)

假设您将输出保存为“../data/index.html”,

$ret = system( 'start ..\data\index.html' );

应该在默认浏览器中打开文件。

添加了:

Advice here

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的工作方式。