在脚本仍在运行时,如何使用vim编辑Perl中的文本?

aid*_*dan 4 vim perl temporary-files

我有一个输出文本的Perl脚本.我想将此文本导入vim,编辑,保存然后退出.退出时,我希望原始的Perl脚本处理已编辑的文件.

EG crontab -e在添加新作业时如何工作.

谢谢 :)

unw*_*ind 13

使用系统在文件名上运行vim 听起来很简单.这将等到vim完成,此时你可以继续读取文件的新内容.

  • 您可能希望使用$ EDITOR环境变量来允许用户选择他们选择的编辑器. (2认同)

Hyn*_*dil 7

use File::Temp;
my $fh = new File::Temp();
my $fname = $fh->filename;
print $fh "My Text";
$fh->close();
system($ENV{EDITOR}, $fname);
open $fh, '<', $fname or die "Can't open temp file: $!";
while(<$fh>) { print }
close $fh;
Run Code Online (Sandbox Code Playgroud)