小编Eth*_*her的帖子

按模式过滤文件名

我需要搜索以特定模式开头的目录中的文件,比如说"abc".我还需要消除结果中以".xh"结尾的所有文件.我不知道如何在Perl中做到这一点.

我有这样的事情:

opendir(MYDIR, $newpath);
my @files = grep(/abc\*.*/,readdir(MYDIR)); # DOES NOT WORK
Run Code Online (Sandbox Code Playgroud)

我还需要从结果中删除所有以".xh"结尾的文件

谢谢,毕

perl grep readdir

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

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

冒号在Perl中意味着什么?

冒号在以下Perl程序中意味着什么?

MAIN: {
    print "Hello\n";
}
Run Code Online (Sandbox Code Playgroud)

syntax perl

7
推荐指数
2
解决办法
3632
查看次数

Subversion:如何在提交时删除属性

我的情况是这样的:我在家里安装了Subversion服务器,我们也在我工作的公司使用Subversion.

在工作中,我们使用锁定/编辑/解锁模型(主要是因为我们正在从Visual SourceSafe转换,目前更容易).目前,这是通过在所有添加的文件上设置'needs-lock'属性来实现的(使用每个客户端计算机上的SVN客户端配置文件的auto-props部分).

但是,我不想将这个模型用于我的家庭SVN服务器(我更喜欢编辑/合并/提交工作方式),所以目前我从工作PC到家庭服务器提交任何东西后,我必须手动删除我添加的任何文件的needs-lock属性.

有没有办法设置SVN客户端只将此属性应用于提交给特定服务器的文件?或者我是以错误的方式去做的:我应该在工作服务器上使用钩子来添加这个属性而不是客户端吗?

非常感谢任何帮助或建议.

编辑:显然,你不能在服务器上这样做(或至少强烈建议你不这样做).

svn properties pre-commit-hook

7
推荐指数
2
解决办法
4978
查看次数

7
推荐指数
4
解决办法
2822
查看次数

如何访问我的Moose角色所应用的模块的元类?

我正在使用Moose 角色在类中的某些存取方法中应用一些包装器行为.我想将此角色应用于许多模块,每个模块都有一组不同的属性,我想要包装它们的访问器.有没有办法从角色中访问正在应用的模块的元类?即是这样的:

package My::Foo;
use Moose;
with 'My::Role::X';

has [ qw(attr1 attr2) ] => (
    is => 'rw', # ...
);

has 'fields' => (
    is => 'bare', isa => 'ArrayRef[Str]',
    default => sub { [qw(attr1 attr2) ] },
);
1;

package My::Role::X;
use Moose::Role;

# this should be a Moose::Meta::Class object
my $target_meta = '????';

# get Class::MOP::Attribute object out of the metaclass
my $fields_attr = $target_meta->find_attribute_by_name('fields');

# extract the value of this attribute - should be …
Run Code Online (Sandbox Code Playgroud)

perl roles moose

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

关于调用自身的函数的堆栈重用?

如果函数在同时定义变量时调用自身会导致堆栈溢出吗?gcc中是否有任何选项可以重用相同的堆栈.

void funcnew(void)
{
   int a=10;
   int b=20;
   funcnew();
   return ;
 }
Run Code Online (Sandbox Code Playgroud)

函数可以重用它之前使用的堆栈帧吗?gcc中的选项是什么在尾递归中重用相同的帧?

c stack-overflow gcc function frame

7
推荐指数
2
解决办法
1249
查看次数

C++ - 如何使用C++读取Unicode字符(例如,印地语脚本)或者是否有更好的方式通过其他编程语言?

我有一个像这样的印地文脚本文件:

3.  ???? ?? ?????? ???? ?????? ??? ??????? ???
Run Code Online (Sandbox Code Playgroud)

我必须编写一个程序,为每个句子中的每个单词添加一个位置.因此,特定单词位置的每一行的编号应从括号中的1开始.输出应该是这样的.

3.  ????(1) ??(2) ??????(3) ????(4) ??????(5) ???(6) ???????(7) ??(8) ?(9)
Run Code Online (Sandbox Code Playgroud)

上述句子的含义是:

3.  India has a long and rich history.
Run Code Online (Sandbox Code Playgroud)

如果你观察'.'(这是一个完整的句子,相当于英语中的'.')也有一个单词位置,同样其他特殊符号也会有,因为我试图去英语 - 印地语单词对齐(自然语言处理(NLP)的一部分)所以完整的英语'.' 应映射到'.' 用印地语.串行nos保持不变.我认为逐字逐句阅读可能是一个解决方案.你可以帮我解决一下如何使用C++,如果它简单或者更容易,你可以通过其他一些编程语言建议其他方式,如Python/Perl ..?

问题是我能够使用C++获取我的英文文本的单词位置,因为我能够使用C++中的ASCII值逐个字符地阅读,但我不知道如何对印地文文本进行相同的操作.

所有这一切的最终目的是看看英文文本的哪个单词位置映射到印地语中的哪个位置.这样我就可以实现双向对齐.

感谢您的时间...:)

c++ python perl nlp utf-8

7
推荐指数
3
解决办法
9049
查看次数

Perl6:将数组推送到具有一个元素的数组数组似乎不能按预期工作

当我将数组推送到一个有一个数组作为唯一元素的数组数组时,为什么会得到这种数据结构呢?

use v6;

my @d = ( [ 1 .. 3 ] );
@d.push( [ 4 .. 6 ] );
@d.push( [ 7 .. 9 ] );


for @d -> $r {
    say "$r[]";
}
# 1
# 2
# 3
# 4 5 6
# 7 8 9

say @d.perl;
# [1, 2, 3, [4, 5, 6], [7, 8, 9]]
Run Code Online (Sandbox Code Playgroud)

arrays perl6

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

将变量推送到数组上的线程安全操作?

我有以下Perl代码:

push(@myArray, $myValue);
Run Code Online (Sandbox Code Playgroud)

如果多个线程将在许多线程上执行相同的操作,那么操作是原子的,还是需要使用锁?

perl multithreading thread-safety reentrancy

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