我有一个perl脚本,该脚本正在为我删除日志文件。现在,我想在多台其他计算机和一台服务器上使用此脚本。问题是,我使用了一些手动下载的模块。
我的问题是,如何将Perl脚本导出到包含脚本中.zip所有已用模块的?
我要达到的目的是,可以将.zip文件放在其他计算机上并运行脚本,而不会由于手动导入的模块而导致任何错误。
我正在创建一个小游戏。我知道如何为JPanel设置背景色。
pane.setBackground(Color.RED);
Run Code Online (Sandbox Code Playgroud)
我的问题是,我有一个BorderPane布局,如果想在南部放置一些东西,则需要创建一个新的JPane。我创建的Foreach窗格需要再次设置背景色。我的问题是,是否可以一次为每个窗格设置背景颜色?
以下情况。
我有一个名为的文件2018_12_03_FileName.log。现在,我从文件(2018_12_03)中获取日期。
我想将字符串转换为DateTime对象,这也可以。
$chars =~s/_//g;
$chars = Time::Piece->strptime("$chars", "%Y%m%d");
$chars = $chars->strftime("%d/%m/%Y");
Run Code Online (Sandbox Code Playgroud)
输出量
03/12/2018
Run Code Online (Sandbox Code Playgroud)
在那之后,我想得到今天的日期-14天。但是,这是我的两个问题之一。我尝试了很多事情,但找不到任何适合我的真正解决方案。
my $day14 = DateTime->now();
$day14 -= (2 * ONE_WEEK);
Run Code Online (Sandbox Code Playgroud)
错误:
无法从DateTime对象中减去1209600(DateTime = HASH(0x6f2d84))。只能从DateTime对象中减去DateTime :: Duration或DateTime对象。
现在第二个问题是,我想比较这两个日期,并查看文件日期是否在范围内。
my $cmp = DateTime->compare($chars, $day14);
Run Code Online (Sandbox Code Playgroud)
错误:
参数“ 15/07/2019”不是数字等式(==)中的数字
一个DateTime对象只能与另一个DateTime对象进行比较(03/12/2018,15/07/2019)。
那么,如何从今天的日期减去14天,又如何比较之后的两个日期?
以下问题:
我有一个GUI,TableView可以显示一些数据。
为避免在将新文件加载到表中时出现一些问题,我调用了一种方法,该方法清除表中的所有数据(此事件发生在我从中选择一个文件之后FileChooser且在显示数据之前)。
问题是,加载文件后,布局正在更改。
我发现发生这种情况是因为我正在清除该TableView属性,但是我不知道如何解决此问题并且找不到解决方案。
可运行的例子
public class GuiLayout extends Application {
private Scene mainScene;
private Stage mainStage;
private Label filename;
private VBox mainBox;
private TableView tableView = new TableView();
private FileChooser fileChooser;
private Button save;
private Button neu;
private Button settings;
private Button table;
private Button row;
private Button column;
private Button date;
public static void main(String[] args) {
Application.launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
initButton();
mainStage = new …Run Code Online (Sandbox Code Playgroud) 我想将字符串2018_12_03转换为20181203。
现在,我找到了解决方法。
$varName =~ s#_##;
Run Code Online (Sandbox Code Playgroud)
输出量
201812_03
为了删除第二个下划线,我再次做了同样的事情。
$varName =~ s#_##;
$varName =~ s#_##;
Run Code Online (Sandbox Code Playgroud)
输出2
20181203
它可以工作,但看起来不太好,所以我的问题是,是否可以一次删除所有下划线?
我正在使用正则表达式来检查文件名。现在,Intellij的控制台向我显示此消息:
正则表达式中错误的[]范围“ \ w-”;在m / ^ deploy-file- \ d + _ [\ w <-HERE _。] + \ d + .log $ /中以<-HERE标记...
码
elsif ($filename =~ m/^deploy-file-\d+_[\w-_.]+\d+\.log$/) {
print "$filename match with pattern\n";
}
Run Code Online (Sandbox Code Playgroud)
我想说的是,一切都正常,并且该模式到目前为止运行良好。我的问题是,为什么intellij向我显示此消息?问题是什么?对程序有影响吗?