小编Boy*_*ing的帖子

Perl定制排序

我想对数组进行排序,并将特定元素放在开头.

这是我的代码:

sub MySort {
    my $P = 'node';
    if ($a eq $P) {
        return -1;
    }

    return -1 if $a lt $b;
    return 0  if $a eq $b;
    return 1  if $a gt $b;
}

my @x = qw (abc def xxx yyy ggg mmm node);
print join "\n",sort MySort @x
Run Code Online (Sandbox Code Playgroud)

我希望"节点"开始,但它不起作用.

结果:

abc
def
ggg
node
mmm
xxx
yyy
Run Code Online (Sandbox Code Playgroud)

预期结果:

node
abc
def
ggg
mmm
xxx
yyy
Run Code Online (Sandbox Code Playgroud)

sorting perl

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

如何在Python中实现Perl的exec功能?

假设使用Linux:

在Perl中,该exec函数执行外部程序并立即退出,将外部程序保留在同一个shell会话中.

使用Python的一个非常接近的答案是/sf/answers/927983591/

但是,Python解决start_new_session=True方案使用setsid方法启动外部程序,这意味着该解决方案适用于制作守护程序,而不是交互式程序.

这是一个使用perl的简单示例:

perl -e '$para=qq(-X --cmd ":vsp");exec "vim $para"'
Run Code Online (Sandbox Code Playgroud)

启动vim后,原始Perl程序已退出,vim仍在同一个shell会话中(vim不会发送到新的会话组).

如何使用Python获得相同的解决方案.

python

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

标签 统计

perl ×1

python ×1

sorting ×1