小编cjm*_*cjm的帖子

想下载Git存储库,我需要什么(windows机器)?

我想下载这个开源应用程序,他们正在使用Git.下载代码库需要什么?

更新 当我使用Git Bash时如何更改工作目录?(我想在某个目录下载回购,使用pwd告诉我,我将下载我不想要的回购.

windows git

70
推荐指数
2
解决办法
13万
查看次数

如何让LWP验证SSL服务器证书?

如何让LWP验证我连接的服务器的证书是否由受信任的机构签名并发送给正确的主机?据我所知,它甚至没有检查证书声称是否为我正在连接的主机名.这似乎是一个主要的安全漏洞(特别是最近的DNS漏洞).

更新: 事实证明我真正想要的是HTTPS_CA_DIR,因为我没有ca-bundle.crt.但是HTTPS_CA_DIR=/usr/share/ca-certificates/诀窍呢.无论如何,我将答案标记为已被接受,因为它足够接近.

更新2:事实证明,HTTPS_CA_DIR并且HTTPS_CA_FILE仅当您正在使用的Net :: SSL作为底层的SSL库申请.但LWP也适用于IO :: Socket :: SSL,它将忽略这些环境变量并愉快地与任何服务器通信,无论它呈现什么证书.有更通用的解决方案吗?

更新3:不幸的是,解决方案仍然不完整.Net :: SSL和IO :: Socket :: SSL都没有根据证书检查主机名.这意味着某人可以获得某个域的合法证书,然后在没有LWP抱怨的情况下冒充任何其他域.

更新4: LWP 6.00终于解决了这个问题.详情请见我的回答.

perl ssl https lwp

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

/ usr/bin/perl:bad interpreter:文本文件繁忙

对我来说这是一个新的:这个错误表示什么?

  /usr/bin/perl: bad interpreter: Text file busy
Run Code Online (Sandbox Code Playgroud)

当时有几个磁盘密集型进程在运行,但我以前从未见过这个消息 - 事实上,这是我第一次记得在尝试运行Perl脚本时遇到错误.经过几秒钟的等待,我能够运行它,并且从那时起就没有看到这个问题了,但对此有一个解释会很好.

运行Ubuntu 9.04,文件系统是ext3.

linux perl interpreter ubuntu-9.04

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

第一个NP完全问题如何显示NP完全?

来自NP-Complete的维基百科条目:

"证明一些新问题是NP完全的最简单的方法是首先证明它是在NP中,然后减少一些已知的NP完全问题"

我很确定我理解这一点:如果我有问题,我可以证明它是NP-Complete如果我:

  1. 表明它在NP中(可以在非确定性图灵机上的多项式时间内验证问题的解决方案)

  2. 表明已知为NP-Complete的问题可以"减少"到新问题

所以,我的问题是,第一个NP完全问题"被证明"是NP完全的吗?同时,已知NP完全问题的集合必须为零,这将使得在上述过程中不可能采用步骤2.

这让我觉得有一种不同的证明方法,我不知道.由于缺少已知的多项式时间解决方案,或者可能由于缺少已知的多项式时间解而对某些问题"假设"整个NP完全属性.(实际上,写完这篇文章后,如果是这样的话,我不会感到惊讶,但无论如何我都喜欢一些古茹反馈).

computer-science np-complete

25
推荐指数
2
解决办法
5750
查看次数

从Perl中的字符串中提取最后K个字符

我有一个看起来像这样的字符串

my $str1 = "ACGGATATTGA";
my $str2 = "alex";
Run Code Online (Sandbox Code Playgroud)

我想要做的是从每个字符中提取最后三个字符.

$out1 = "TGA";
$out2 = "lex";
Run Code Online (Sandbox Code Playgroud)

我怎么能在Perl中做到这一点?

perl

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

如何计算Perl中的字符?

我有以下Perl脚本计算字符串中的Fs和Ts的数量:

my $str = "GGGFFEEIIEETTGGG";
my $ft_count = 0;
$ft_count++ while($str =~ m/[FT]/g);
print "$ft_count\n";
Run Code Online (Sandbox Code Playgroud)

是否有更简洁的方法来计算(换句话说,结合第2和第3行)?

regex perl charactercount

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

你什么时候使用unpack('h*'...)或pack('h*'...)?

在Perl中,packunpack有从十六进制字节转换成/两个模板:

h    十六进制字符串(首先是低nybble).
H    十六进制字符串(首先是高nybble).

最好用一个例子来澄清:

use 5.010; # so I can use say
my $buf = "\x12\x34\x56\x78";

say unpack('H*', $buf); # prints 12345678
say unpack('h*', $buf); # prints 21436587
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,H人们在考虑将字节转换为十六进制/从十六进制转换时通常意味着什么.那么目的是h什么?拉里一定以为有人可能会使用它,否则他就不会费心去包括它.

你能给出一个真实世界的例子,你真的想用h而不是Hpack或者unpack吗? 我正在寻找一个具体的例子; 如果你知道一台机器组织它的字节,它是什么,你可以链接到它的一些文件?

我可以想一下你可以使用 的例子h,例如当你不关心格式时序列化一些数据,只要你能读回来,但对它H来说同样有用.我在寻找其中一个例子h比有用H.

perl hex unpack pack

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

Perl范围和局部变量的生命

Perl中的本地变量分配的内存位置有多长(对于数组,散列和标量)?例如:

sub routine
{  
  my $foo = "bar";  
  return \$foo;  
}  
Run Code Online (Sandbox Code Playgroud)

"bar"函数返回后,你还可以访问内存中的字符串吗?它会持续多长时间,它是否类似于C中的静态变量或更像是从堆中声明的变量?

基本上,这在这种情况下是否有意义?

$ref = routine()  
print ${$ref};
Run Code Online (Sandbox Code Playgroud)

perl lexical-scope

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

将Damm算法扩展到base-32

我想使用Damm算法为具有32个字符的字母表生成校验位.算法本身很容易应用于任何基础(2或6除外).难点是必要的查找表,它必须是一个完全反对称的拟群,在主对角线下面有一个字符(通常为0).

维基百科页面给出了基地10台,以及Python实现提供了一个表16为基的,但我还没有找到一个基地-32的例子.有没有人有一个合适的基地32表?

algorithm check-digit

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

我应该如何使用Perl模块分发数据文件?

我已经开始了module-starter(带--builder=Module::Build).我想用来SQL::Library将我的SQL收集到一个.ini文件中......但是为了在运行时找到该文件,我需要知道它的确切路径.如何在运行时获取模块"数据目录"的路径?

到目前为止,我一直在使用FindBin(比如"$FindBin::Bin/../../path/to/module/datafiles/foo.ini",但我发现它不是很强大(例如,当PATH中两个不同的目录中有两个具有相同名称的程序时,它似乎会中断).

perl cpan

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