小编ser*_*sat的帖子

如何使哈希键查找不区分大小写?

显然,哈希密钥以区分大小写的方式进行比较.

$ perl -e '%hash = ( FOO => 1 ); printf "%s\n", ( exists $hash{foo} ) ? "Yes" : "No";'
No

$ perl -e '%hash = ( FOO => 1 ); printf "%s\n", ( exists $hash{FOO} ) ? "Yes" : "No";'
Yes
Run Code Online (Sandbox Code Playgroud)

是否有更改当前脚本的设置?

perl hash

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

确定Tcl中变量的类型

我正在寻找一种在Tcl中找到变量类型的方法.例如,如果我有变量$ a,我想知道它是否是一个整数.

到目前为止我一直在使用以下内容:

    if {[string is boolean $a]} {
    #do something
    }
Run Code Online (Sandbox Code Playgroud)

这似乎适用于以下类型:
alnum,alpha,ascii,boolean,control,digit,double,false,graph,integer,lower,print,punct,space,true,upper,wordchar,xdigit

但是它无法告诉我我的变量是否可能是数组,列表或字典.有谁知道如何判断一个变量是否是这三个中的任何一个?

variables tcl object-type

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

如何使用自定义键盘扩展插入NSAttributedString?

我想用键盘扩展,因为这些应用程序编写一些自定义的字体的文本(1,2,3,4)在做什么.我知道如何在文档代理中插入普通字符串.

    [self.textDocumentProxy insertText:mystring];
Run Code Online (Sandbox Code Playgroud)

我试图NSAttributedString使用上述方法插入,但我看不到任何方式插入NSAttributedString文档代理.

有人可以指导什么是解决这个问题的最佳方法?任何建议将不胜感激.

nsattributedstring custom-font ios ios-keyboard-extension

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

perl中的|| =是什么?

查看阅读Excel的文档,有一个我不太了解的声明.

有人可以解释一下$sheet -> {MaxRow} ||= $sheet -> {MinRow};吗?

我得到它的赋值运算符.但是我不明白它||是如何工作的?

perl operators

10
推荐指数
2
解决办法
8375
查看次数

在Perl中使用`use base`和@ISA有什么区别?

我想创建一个扩展DBI的单例类.我应该做这样的事情:

use base 'Class::Singleton';
our @ISA = ('DBI');
Run Code Online (Sandbox Code Playgroud)

或这个:

our @ISA = ('Class::Singleton', 'DBI');
Run Code Online (Sandbox Code Playgroud)

或者是其他东西?

不确定'use base'和'isa'之间的区别是什么.

oop perl

9
推荐指数
2
解决办法
8851
查看次数

在没有扩展名的Windows上运行perl脚本

我试图找到一种方法来注册扩展.pl名为可执行文件的文件.我花了一些时间在网上寻找解决方案,但我找不到任何东西.

我能做什么:我制作了一个脚本,让我们称它为myscript.pl
我可以像这样运行它:

perl myscript.pl [my_script_parameters]
Run Code Online (Sandbox Code Playgroud)

既然文件与perl相关联,我也可以将其运行为:

myscript.pl [my_script_parameters] 
Run Code Online (Sandbox Code Playgroud)

现在,我知道有一些扩展名列表被认为是可执行文件(.exe,.bat等等).我想添加 .pl 到此列表,以便我可以像这样运行我的脚本:

myscript [my_script_parameters]
Run Code Online (Sandbox Code Playgroud)

有谁知道如何做到这一点?

perl executable

9
推荐指数
2
解决办法
5114
查看次数

循环遍历Perl中的一系列哈希

我是Perl的新手,所以请原谅我,如果这真的很愚蠢,但我无法弄清楚这一点.如果我有这样的数组:

my @array = (
  {username => 'user1', email => 'user1@email' },
  {username => 'user2', email => 'user2@email' },
  {username => 'user2', email => 'user3@email' }
);
Run Code Online (Sandbox Code Playgroud)

循环遍历此数组的最简单方法是什么?我认为这样的事情会起作用:

print "$_{username} : $_{email}\n" foreach (@array);
Run Code Online (Sandbox Code Playgroud)

但事实并非如此.我想我太困惑了PHP的思维方式,我可以做一些像:

foreach ($array as $user) { echo "$user['username'] : $user['email']\n"; }
Run Code Online (Sandbox Code Playgroud)

perl

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

文件读取,写入和附加在TCL

在TCL中,如何使用for循环或foreach循环将不同的内容附加到单个文件中?

file-io tcl

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

在TCL编写程序

我对TCL很新.只是我想知道如何编写没有参数的TCL过程以及如何调用以及如何执行它.

tcl

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

grep、grep -E、grep -P、grep -e 之间的区别

我是正则表达式的新手,想要使用“grep”命令进行一些练习。但是,我注意到人们一直在使用以下 rgx 命令。

grep -E <regular expression pattern>
grep -P <regular expression pattern>
grep -e <regular expression pattern>
grep <regular expression pattern>
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我它们之间有什么区别吗?我已经在“man”命令和一些简单的谷歌中查找了它们,但要么太简短,要么太难以理解(例如,什么是“perl 风格”或扩展正则表达式?)。

regex linux grep

8
推荐指数
0
解决办法
2662
查看次数