我試圖把一些詞在臨時文件通過命令行 臨時文件科瑞但字不過去在臨時文件perl的mktemp的和回聲
#!/usr/bin/perl -w
system ('clear');
$TMPFILE = "mktemp /tmp/myfile/devid.XXXXXXXXXX";
$echo = "echo /"hello world/" >$TMPFILE";
system ("$TMPFILE");
system ("$echo");
請幫助使用外部命令這
我試圖把一些詞在臨時文件通過命令行 臨時文件科瑞但字不過去在臨時文件perl的mktemp的和回聲
#!/usr/bin/perl -w
system ('clear');
$TMPFILE = "mktemp /tmp/myfile/devid.XXXXXXXXXX";
$echo = "echo /"hello world/" >$TMPFILE";
system ("$TMPFILE");
system ("$echo");
請幫助使用外部命令這
捕獲由mktemp的輸出的名稱,而是執行此操作:
chomp($TMPFILE = `mktemp /tmp/myfile/devid.XXXXXXXXXX`);
但Perl可以做所有你正在做沒有的事訴諸殼。
避免Perl來解決腳本儘可能多。
你可以使用:File::Temp
模塊在這種情況下,看到this
下面是其他人給出的建議的具體演示:儘可能直接使用Perl,而不是調用system
。另外,你應該養成在你的Perl腳本中包含use strict
和use warnings
的習慣。
use strict;
use warnings;
use File::Temp;
my $ft = File::Temp->new(
UNLINK => 0,
TEMPLATE => '/tmp/myfile/devid.XXXXXXXXXX',
);
print "Writing to temp file: ", $ft->filename, "\n";
print $ft "Hello, world.\n";
+1代碼 – snoofkin 2011-05-15 13:45:21
您導入tempfile但不使用它 – ysth 2011-05-17 19:12:34