小编Bre*_*yrd的帖子

Carp/Croak,Cluck/Confess和详细选项之间有什么区别?

我没有那么多地使用鲤鱼,因为我一般都是自己动手.但是,本着与Core模块保持一致的精神,我现在正在使用它.然而,似乎它几乎不比警告/死亡好.

此外,咯咯/忏悔/冗长甚至做什么?我已经运行了这个简短的脚本来了解输出的样子(因为Carp文档没有这样做).它在任何运行中看起来都完全相同(除了随机字符串).

  #!/usr/bin/perl

  package Warning;

  sub warning {
    warn "warn";
  }

  package CWarn;
  use Carp qw(carp cluck);

  sub cwarn {
    int(rand(2)) ? carp "carp" : cluck "cluck";
  }

  package Fatal;
  use Carp qw(confess croak);

  sub fatal {
    int(rand(2)) ? confess "confess" : croak "croak";
  }

  package Loop;

  use v5.10;

  sub loop {
    say '=' x 80;
    Warning::warning();
    CWarn::cwarn();
    loop() unless ($c++ > 10);
    Fatal::fatal();
  }

  package main;

  Warning::warning();
  CWarn::cwarn();
  Loop::loop();
Run Code Online (Sandbox Code Playgroud)

更新:使用包名更新了脚本,它确实有所作为.但是,就记录信息而言,Carp似乎仍然非常基础,并且它不支持Web输出.我想我会看看其他像CGI :: Carp,Log :: Output和Log :: Log4Perl.

error-handling perl carp

52
推荐指数
2
解决办法
3万
查看次数

链接另一个git存储库中的单个文件

如何将来自另一个git存储库的单个文件链接到您自己的存储库?我不想要完整的存储库,只需要一个文件.使用git submodule似乎是正确的路线,但它想抓住整个事情.

git repository git-submodules

44
推荐指数
1
解决办法
3万
查看次数

Perl中有哪种语法糖可以减少l/rvalue运算符和if语句的代码?

有一堆,因为Perl是一种非常含糖的语言,但任何语言中最常用的语句是if语句和设置值的组合.我想我发现了很多,但仍有一些差距.最终,目标是不必多次编写变量名称:

这是我到目前为止所拥有的:

$r ||= $s;          # $r = $s unless ($r);
$r //= $s;          # $r = $s unless (defined $r);
$r &&= $s;          # $r = $s if ($r);
$r = $c ? $s : $t;  # if ($c) { $r = $s } else { $r = $t }
$c ? $r : $s = $t;  # if ($c) { $r = $t } else { $s = $t }
$r = $s || $t;      # if ($s) …
Run Code Online (Sandbox Code Playgroud)

perl syntactic-sugar rvalue logical-operators

15
推荐指数
2
解决办法
1040
查看次数

在 VS 2022 中关闭向上/向下箭头上的多行编辑

最新版本的 Visual Studio“很有帮助”地在其多行编辑功能(Alt+Shift+向上/向下)中添加了新功能,允许您在展开光标后垂直移动光标。以前,这也是它在 Notepad++ 和其他程序中的工作方式,按向上或向下(无元)将折叠多行并再次为您提供单行光标。

我不明白垂直移动多行光标有什么用,并且发现按向上键并键入某些内容最终会在其他行中创建一堆我不想要的字符,这相当烦人。唯一可以折叠光标的是 Escape。

是否有一个选项可以禁用此功能并返回到向上/向下 = 折叠的原始行为?

visual-studio-2022

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

Oracle PL/SQL版本的INET6_ATON和NTOA功能?

有没有什么好的代码将IPv6地址字符串转换为整数?使用一种格式转换IPv4似乎相当容易.但是,IPv6有几种不同的格式来显示地址:

  • XXXX:XXXX:XXXX:XXXX ::
  • XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX
  • XXXX:XXX:XXXX:0:0:XXXX:XXX:XXXX
  • XXXX:XXX:XXXX XXXX :::XXX:XXXX
  • :: ffff:XXXX:XXX(v6格式的IPv4)
  • :: ffff:###.#.#.###(也是v6格式的有效IPv4)

我希望能够将这些字符串中的一个转换为用于IP到网络匹配的INTEGER,并允许任何这些格式作为输入.

oracle plsql ipv6 subnet cidr

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