在我第二次运行带有当前日期值的$ stattime_2新变量之后,属性文件中的变量是$ starttime,值是YYYYMMDDHH24MI中的当前日期。
我的代码是
#!/usr/local/bin/perl
use Time::Piece;
$starttime = localtime->strftime('%Y%m%d%H%M');
$i = 0;
open my $file, '>', 'order.properties' or die $!;
print $file "Start_time", $i, " = ", $starttime;
close $file;
对于每次运行,order.properties文件应更新为
第一次
Start_time_1 = 2018121317:04(the current system Time)
第二次
Start_time_2 = 2018121317:05.........
第3、4、5个变量名称应更改,并应指定当前日期和时间
输出将像 在第3次运行
Start_time_1 = 2018121317:04
Start_time_2 = 2018121317:05
Start_time_3 = 2018121317:09
如何执行脚本,使其等于属性文件中开始时间的条目
答案 0 :(得分:1)
我不会为您提供完整的答案,因为您可以自己解决这个问题,从而学到更多。但我会指出您需要修复的两件事。
您使用 transformlocation <- function(x) {
x <- as.character(x)
if (x =='New York'){
return('1')
}else if (x=='Alabama'){
return('2')
}else if (x=='Florida'){
return('3')
}else
return('0')
}
employ.data$location <- sapply(employ.data$location, transformlocation)
employ.data
employee salary startdate location
1 John Doe 21000 2010-11-01 1
2 Peter Gynn 23400 2008-03-25 2
3 Jolie Hope 26800 2007-03-14 1
打开文件,该文件每次运行程序时都会覆盖文件。相反,您需要使用“追加”模式,该模式会将新数据添加到文件末尾。您可以使用>
而不是>>
来做到这一点。
您还需要确定哪个数字被附加到>
上。显然,您的程序在每次完成时都会关闭,因此您不能将其存储为变量。我建议最简单的方法可能是在编写新行之前对文件中当前的行进行计数。
另外两条建议。 Perl FAQ是Perl编程建议的重要来源,您应该始终在自己的Perl程序中使用Start_time
和use strict
。