如何在数据相同时仅打印一次数据

时间:2015-03-19 18:35:42

标签: perl loops

当我使用下面的代码时,打印所有技术的日子。

while( my ( $A1, $Days, $package, $Tech)= $TF_QUERY->fetchrow_array())
{
  print "$file $A1,$Days,$package,$tech";
}

A1    Days  package     Tech

001    10   value1      2g

001    10    value1     3g

001    10    value1     wifi

001    10    value1     NA

我想以下列格式打印输出,请你帮我打印下面的格式。

A1    Days  package     Tech

001    10     value1        2g

001          value1     3g

001          value1     wifi

001          value1     NA

1 个答案:

答案 0 :(得分:1)

通过在更改之前记住并替换之前的值来实现短期记忆。 (检查perl代码,可能会有一些错误,因为它未经测试,但概念是可靠的):

$prevPackage="";
$prevA1=-1;
$prevDays=-1;
$prevTech="";
$prevFile="";
while( my ( $A1, $Days, $package, $Tech)= $TF_QUERY->fetchrow_array())
{
  if($prevFile!=$file) {
    print "$file";
    $prevFile=$file;
  }
  if($prevDays!=$Days) {
    etc etc etc
  }
}