我有一个字符串,r其值低于,我想提取字符串"index.htm".
"<a id=\"ctl00_HyperLink_home\" href=\"index.htm\"> " ++
"<font color=\"#FFFFFF\">Home</font>" ++
"</a>"
Run Code Online (Sandbox Code Playgroud)
我的代码是
parseHref :: String -> String
parseHref ('h':'r':'e':'f':'=':'\"':xs) = takeWhile( '\"'>) xs
parseHref (_:xs) = parseHref xs
Run Code Online (Sandbox Code Playgroud)
但是parseHref r是空字符串.有人可以帮忙吗?提前致谢.
所以我分叉并克隆并创建了一个新分支,做了一些更改并进行了 git commit。
然而,原始回购(上游)有一些新的变化。我想让它们到我的本地仓库,并且准确到实际的分支,而不会丢失我已经提交的更改。我现在有一个提交。
我花了大约一个小时来了解如何做到这一点,但如果不知道可以让我得到结果的实际关键字,这似乎是一个死胡同。
我需要逐行读取200mb"空格"分隔文件并将其内容收集到一个数组中.
每次运行脚本时,Perl都会抛出"内存不足"异常,但我不明白为什么!
请问一些建议?
#!/usr/bin/perl -w
use strict;
use warnings;
open my $fh, "<", "../cnai_all.csd";
my @parse = ();
while (<$fh>) {
my @words = split(/\s/,$_);
push (@parse, \@words);
}
print scalar @parse;
Run Code Online (Sandbox Code Playgroud)
cnai文件看起来像这样:它包含11000行和4200个值,每行分隔"空格".
VALUE_GROUP_A VALUE_GROUP_B VALUE_GROUP_C
VALUE_GROUP_A VALUE_GROUP_B VALUE_GROUP_C
VALUE_GROUP_A VALUE_GROUP_B VALUE_GROUP_C
VALUE_GROUP_A VALUE_GROUP_B VALUE_GROUP_C
Run Code Online (Sandbox Code Playgroud)
上面的代码只是一个简化的样本.
最终脚本将所有值存储在哈希中,稍后将其写入数据库.
但首先,我必须解决那个记忆问题!
我知道我可以很容易地做类似的事情
sub sin {
sin($_[0]);
}
Run Code Online (Sandbox Code Playgroud)
并象征性地引用我需要的每个函数,但我想知道是否有办法做类似的事情
{$foo}(123);
Run Code Online (Sandbox Code Playgroud)
与
&{$foo}(123);
Run Code Online (Sandbox Code Playgroud)
哪个有效,但不适用于核心功能.
谢谢.
我有一个带有switch语句的Java方法.
它工作正常,但我有很多情况,可能是20或更多,如下所示.
switch (result) // result is of type Enum
{
case 1:
break;
case 2:
break;
//----
//----
//----
default:
break;
} // End of Switch
Run Code Online (Sandbox Code Playgroud)
请告诉我如何将这些案例转移到另一个文件中.
我用的代码是:
$data_read=$port_obj->read($buffer);
print "$data_read\n";
Run Code Online (Sandbox Code Playgroud)
输出看起来像这样:
T=3420499518 A=914 B=97 C=49 D=436 E=428 F=863 G=34 H=771 I=214 J=493 K=165
Run Code Online (Sandbox Code Playgroud)
我想把它放在这个:
$T,$A,$B,$C,$D,$E,$F,$G,$H,$I,$J,$K
Run Code Online (Sandbox Code Playgroud)
所以我可以将它写入MySQL数据库.我该怎么做 ?
数据库处理程序:
$query = "INSERT INTO myhouse (T,A,B,C,D,E,F,G,H,I,J,K)
VALUES ($T,$A,$B,$C,$D,$E,$F,$G,$H,$I,$J,$K)";
$query_handle = $connect->prepare($query);
$query_handle->execute();
Run Code Online (Sandbox Code Playgroud) 我非常喜欢这种语法:
try_something() or warn "Cant do it";
Run Code Online (Sandbox Code Playgroud)
如何在之后添加更多命令or?
例如,它在这段代码中很有用:
foreach (@array)
{
m/regex/ or {warn "Does not match"; next;} # this syntax is wrong
...
}
Run Code Online (Sandbox Code Playgroud)
我找到的一种方法是
try_something() or eval {warn "Can't do it"; next;};
Run Code Online (Sandbox Code Playgroud)
但我认为这是个坏主意.
最好的答案:
do比...更好eval.do_smth() or warn("Does not match"), next;Nota bene:括号是必需的,warn因此next不会将其解析为其参数之一.所以我正在尝试使用Perl学习链接列表.我正在阅读Jon Orwant的Perl掌握算法.在书中,他解释了如何创建链表.我理解其中的大部分内容,但我只是无法理解NEXT代码片段的倒数第二行中的命令/ index/key .
$list=undef;
$tail=\$list;
foreach (1..5){
my $node = [undef, $_ * $_];
$$tail = $node;
$tail = \${$node->[NEXT]}; # The NEXT on this line?
}
Run Code Online (Sandbox Code Playgroud)
他想在那里做什么?
是$node标量,它存储未命名数组的地址?即使我们解除引用$node,我们也不应该通过索引号引用单个元素,例如(0,1).如果我们NEXT用作键,是$node对哈希的引用?我很迷茫.
用英语简单的东西将受到高度赞赏.
在Perl/Tk代码中,我发现了一个条件语句如下
if (s/^\+//)
{
#do something
}
elsif (/^-/)
{
#do another thing
}
Run Code Online (Sandbox Code Playgroud)
似乎已经完成了一些模式匹配.但我无法理解.任何人都可以帮我理解这种模式匹配吗?
这是我的字符串:
my $var = "eval(sometext,'|function|65200|url|click|Chargement|margin'.split('|'),0,{}))"
Run Code Online (Sandbox Code Playgroud)
我想得到65200的数字,我试过这个my ($key) = $var =~ /eval.*?\|(\d+)\|.*$/正则表达式,但我什么都没得到.