小编poi*_*isn的帖子

导出带有模块的Perl脚本

我有一个perl脚本,该脚本正在为我删除日志文件。现在,我想在多台其他计算机和一台服务器上使用此脚本。问题是,我使用了一些手动下载的模块。

我的问题是,如何将Perl脚本导出到包含脚本中.zip所有已用模块的?

我要达到的目的是,可以将.zip文件放在其他计算机上并运行脚本,而不会由于手动导入的模块而导致任何错误。

perl

4
推荐指数
1
解决办法
69
查看次数

是否可以一次将所有JPanes设置为相同的背景颜色?

我正在创建一个小游戏。我知道如何为JPanel设置背景色。

pane.setBackground(Color.RED);
Run Code Online (Sandbox Code Playgroud)

我的问题是,我有一个BorderPane布局,如果想在南部放置一些东西,则需要创建一个新的JPane。我创建的Foreach窗格需要再次设置背景色。我的问题是,是否可以一次为每个窗格设置背景颜色?

java swing

2
推荐指数
1
解决办法
20
查看次数

从今天日期减去天数,然后比较

以下情况。

我有一个名为的文件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天,又如何比较之后的两个日期?

perl datetime

2
推荐指数
1
解决办法
97
查看次数

JavaFX:加载文件后布局更改

以下问题:

我有一个GUI,TableView可以显示一些数据。

我的GUI

为避免在将新文件加载到表中时出现一些问题,我调用了一种方法,该方法清除表中的所有数据(此事件发生在我从中选择一个文件之后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)

java javafx tableview

1
推荐指数
1
解决办法
45
查看次数

在Perl中立即删除下划线

我想将字符串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

它可以工作,但看起来不太好,所以我的问题是,是否可以一次删除所有下划线?

regex perl

0
推荐指数
1
解决办法
62
查看次数

正则表达式中错误的[]范围

我正在使用正则表达式来检查文件名。现在,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向我显示此消息?问题是什么?对程序有影响吗?

我的模式也可以在https://regex101.com/r/Lj2r4r/2上使用

regex perl

0
推荐指数
1
解决办法
60
查看次数

标签 统计

perl ×4

java ×2

regex ×2

datetime ×1

javafx ×1

swing ×1

tableview ×1