我正在使用cmd模块.有一个命令,我想像这样记录:
def do_this(self,arg)
"this command accepts these values {values}".format(values="legal values")
Run Code Online (Sandbox Code Playgroud)
理由是我只想输入一次合法价值清单.我发现我可以稍后更改文档字符串,但我认为这是一个黑客攻击.有没有办法做到这一点?
我正在移动一些代码并在一段代码上省略了'use Try :: Tiny'.当我运行它时,perl会运行两个代码块,因此捕获会触发,幸运的是让我看到错误.似乎try和catch被用作标签.我以为标签后面需要一个冒号?为什么perl没有抓到这个?
这是代码:
#!/grid/common/bin/perl
use strict;
use warnings 'all';
foo();
sub foo {
try {
print("hi\n");
}
catch {
die "FATAL: this went wrong, <$@>";
}
}
Run Code Online (Sandbox Code Playgroud) 我有一些我正在处理的遗留代码.一次性清理太多了.它在s运算符内部使用\ 1.我查看了perllexwarn,发现我可以用'没有警告qw(语法)'来关闭它,但我通过反复试验做到了这一点.是否有更简单的方法从警告到关闭它的方式?
它正在做这样的事情:
use strict;
$_ = "abc";
s/abc/\1/;
no warnings qw(syntax);
s/abc/\1/;
Run Code Online (Sandbox Code Playgroud)
它生成的消息是:
\1 better written as $1
Run Code Online (Sandbox Code Playgroud) 我有以下perl代码.我正在使用-w并使用严格.为什么@LDRATA :: SUITES不会产生错误?$ x呢?
#!/grid/common/bin/perl -w
use strict;
for (@LDRATA::SUITES) { print("one\n"); }
for ($LDRATA::SUITES[0]) { print("two\n"); }
for($x) { print("three\n"); }
Run Code Online (Sandbox Code Playgroud) 我正在尝试学习 PHP 并使用会话。我看到了有关在注销时使用 session_destroy 的示例,但我在 php 文档中看到了这一点:
为了完全终止会话,比如注销用户,会话 ID 也必须取消设置。如果使用 cookie 来传播会话 ID(默认行为),则必须删除会话 cookie。setcookie() 可用于此目的。
那么在注销时需要做什么?
我试图在true/false值中得到0或1.这是代码:
use strict;
my %h = (Y => "y");
my $bool_x = 1 & exists $h{X};
my $bool_y = 1 & exists $h{Y};
print("x $bool_x y $bool_y\n");
Run Code Online (Sandbox Code Playgroud)
我需要添加"1&"来强制它不是空字符串.有一个更好的方法吗?我意识到这是perl打印假值的方式的神器,但我需要它是0而不是空字符串.
我有一个例子,说明我在下面尝试做什么.它有效,但我认为它会更好.我有一个数组,其中包含一个键和一个由冒号分隔的相同字符串中的值.我需要把它变成哈希.目前我使用split和temp数组.我觉得我可以解决这个问题,但我找不到语法.
#!/grid/common/bin/perl -w
my @row=("x:3", "y:4", "z:abc");
my %hash = map { my @x=split(":",$_); $x[0] => $x[1] } @row;
print("$_ : $hash{$_}\n") for(keys(%hash));
Run Code Online (Sandbox Code Playgroud)