Perl noob在这里.我有一个小脚本(见下文),我用它来构建一个MySQL INSERT语句.
use strict;
my @records = qw/Record1 Record2 Record3/;
my $insert = "
INSERT INTO table
VALUES
";
foreach my $record (@records) {
$insert .= "('" . $record . "'),\n ";
}
print "$insert\n";
Run Code Online (Sandbox Code Playgroud)
电流输出
INSERT INTO table
VALUES
('Record1'),
('Record2'),
('Record3'),
Run Code Online (Sandbox Code Playgroud)
我需要知道如何打破@records数组的最后一个元素并附加一个;而不是,
期望的输出
INSERT INTO table
VALUES
('Record1'),
('Record2'),
('Record3');
Run Code Online (Sandbox Code Playgroud) 我在Perl中遇到了一个问题.我想用Regex扫描巨大的文本文件.一切正常,但是当我在嵌套的while循环中找到Stop Codon时,第一个while循环接管,但它应该从找到的终止密码子的最后一个位置继续.有人能给我一个暗示在哪里看?
我已经尝试了最后一个声明,但这不起作用.
use strict;
use warnings;
$|=1;
sub read_Fasta {
my ($filename) = @_;
open (FIN, "<$filename") or die "Bestand $filename niet te openen\n";
my $sequence = "";
while (my $line = <FIN>) {
if ($line =~ /^\s*$/) {
next;
} elsif ($line =~ /^\s*#/) {
next;
} elsif ($line =~ /^>/) {
next;
} else {
$sequence .= $line;
}
}
close (FIN);
$sequence =~ s/\s//g;
return ($sequence);
}
print "Het vinden van ORF's in een organisme.\n\n";
print …Run Code Online (Sandbox Code Playgroud) 在下面的代码中,lastwhile循环中有什么作用?如果$matrix[$i][$j]{pointer}变量等于"none"它调用,我得到它,last但它做了什么?
另外为什么$ matrix变量包括使用花括号的得分和指针?{score},我把它看作数组中的第三维,但这是别的吗?无法在谷歌上找到任何关于此的内容.谢谢!
my @matrix;
$matrix[0][0]{score} = 0;
$matrix[0][0]{pointer} = "none";
#populate $matrix with more stuff
while (1) {
last if $matrix[$i][$j]{pointer} eq "none"; #<-what is this "last" doing?
#do some more stuff here
}
Run Code Online (Sandbox Code Playgroud)