【发布时间】:2011-10-02 12:46:04
【问题描述】:
在拆分数组的字段时我很弱(array[0] - array[6])wal
perl中的变量
这是一个大型程序的结束 - 结果被输入到一个数组中,然后以表格格式通过电子邮件发送 - 输出的数组看起来像下面的静态 @mailarray。该表格在电子邮件中的格式正常,它只是抽出同一行 - 对于阵列的每一行。每行需要遍历整个数组7个字段。
mrktsrvr:ltick Chicago tkscan100:tmscn-Brooklyn OCOMsg2
mrktsrvr:ltick Chicago tkscan100:tmscn-Brooklyn OCOMsg2
mrktsrvr:ltick Chicago tkscan100:tmscn-Brooklyn OCOMsg2
mrktsrvr:ltick Chicago tkscan100:tmscn-Brooklyn OCOMsg2
mrktsrvr:ltick Chicago tkscan100:tmscn-Brooklyn OCOMsg2
mrktsrvr:ltick Chicago tkscan100:tmscn-Brooklyn OCOMsg2
程序的结尾是这样的:
#!/usr/bin/perl
@mailarray = qw(mrktsrvr ltick Chicago tkscan100 tmscn Brooklyn OCOMsg2
mrktsrvr ltick Chicago ctdb811 dltic080 Brooklyn OCOMsg2
mrktsrvr ltick Chicago farm101 bhsrv0 Brooklyn OCOMsg2
mrktsrvr ltick Chicago farm102 bhsrv0 Brooklyn OCOMsg2
mrktsrvr ltick Chicago rnds110 nictsrv1 Brooklyn OCOMsg2
mrktsrvr ltick Chicago relay11 tryticUS1 Brooklyn OCOMsg2);
($header_host, $header_process, $header_host_region, $stat_host, $stat_process, $stat_region, $stat_message_type)=@mailarray;
print $header_host;
print "@mailarray\n";
if (@mailarray){
#open(MAIL,"| /usr/sbin/sendmail -t") || warn "Can't send email\n";
print "to:casper\@mail\n";
print "from: $header_host\n";
print "Subject: ping_stat for $header_host $yyyymmdd\n";
print "Content-type: text/html\n\n";
print "<html><body><center><b>ping_stat messaging violations for $header_host $yyyymmdd</b>\n";
print "<table border=1><tr><td>Process</td><td>Acceptable Regions</td><td>Violation of Region</td><td>Message Type</td></tr>\n";
foreach (@mailarray){
($header_host, $header_process, $header_host_region, $stat_host, $stat_process, $stat_region, $stat_message_type)=@mailarray;
#split(/\s+/, $_);
print "<tr><td>$header_process" . ":" . "$header_process</td><td>$header_host_region</td><td>$stat_host" .":". "$stat_process" . "-" . "$stat_region</td><td>$stat_message_type</td></tr>\n";
}
print "</table>\n";
print "<br><br>\n";
print "</table></center></body></html>";
close ;
}
【问题讨论】:
-
我必须说我不知道你的问题是什么。你写的东西我来回看了一遍,什么也没有。
-
我知道我需要什么,但我不知道如何解释它 - 数组有数千个元素,但我需要每隔四个元素将其分解并填充一个 html 表。在数组上使用拼接就可以了
-
我不得不使用这样的东西:while (my \@stat_array_row = splice(\@stat_array_rows, 0, 4)) {
-
感谢您尝试理解问题。
标签: arrays perl variables split