geht das auch in einer schleife?
georg
- perl
0 Cheatah0 georg
hallo,
ich habe untenstehenden code und nun frage ich mich ob ich das nicht kürzer schreiben kann oder evtl. in eine schleife packen.
hat jemand vielleicht eine idee?
vielen dank im voraus.
$ausgabe_i_HV = join(';',$Vers_Nr,$Stp,$Bearbid,$VorDat,$RV_VP1,$VP1_Nachname_HV,$VP1_Vorname_HV,$VP1_GebDat_HV,$VP1_Geschl_HV,
$VP1_EAR_HV,$VP2_Nachname_HV,$VP2_Vorname_HV,$VP2_GebDat_HV,$VP2_Geschl_HV,$VP2_EA_HV,$Tarif_HV,
$Targen_HV,$Abl_VTe_HV,$Abl_BzD_HV,$Abl_LDa_HV,$Rz_med_HV,$Rz_son_HV,$Rz_zus_HV,$RV_KZRG,$Tz_HV,$St_HV,
$Kl_HV,$VoVers_Sum_HV,$R_HV,$RV_ZZ,$ZuMMJJJJ_HV);
@ausgabe_HV = ( ";$RV_ZZ;$VSumme_Tod_HV_1;$VSumme_Erl_HV_1;$BtrBJahrVT_HV_1;$BtrSumRaba_HV_1",
";$Z_VB_HV_2;$VSumme_Tod_HV_2;$VSumme_Erl_HV_2;$BtrBJahrVT_HV_2;$BtrSumRaba_HV_2",
";$Z_VB_HV_3;$VSumme_Tod_HV_3;$VSumme_Erl_HV_3;$BtrBJahrVT_HV_3;$BtrSumRaba_HV_3",
";$Z_VB_HV_4;$VSumme_Tod_HV_4;$VSumme_Erl_HV_4;$BtrBJahrVT_HV_4;$BtrSumRaba_HV_4",
";$Z_VB_HV_5;$VSumme_Tod_HV_5;$VSumme_Erl_HV_5;$BtrBJahrVT_HV_5;$BtrSumRaba_HV_5",
";$Z_VB_HV_6;$VSumme_Tod_HV_6;$VSumme_Erl_HV_6;$BtrBJahrVT_HV_6;$BtrSumRaba_HV_6",
";$Z_VB_HV_7;$VSumme_Tod_HV_7;$VSumme_Erl_HV_7;$BtrBJahrVT_HV_7;$BtrSumRaba_HV_7",
";$Z_VB_HV_8;$VSumme_Tod_HV_8;$VSumme_Erl_HV_8;$BtrBJahrVT_HV_8;$BtrSumRaba_HV_8",
";$Z_VB_HV_9;$VSumme_Tod_HV_9;$VSumme_Erl_HV_9;$BtrBJahrVT_HV_9;$BtrSumRaba_HV_9",
";$Z_VB_HV10;$VSumme_Tod_HV10;$VSumme_Erl_HV10;$BtrBJahrVT_HV10;$BtrSumRaba_HV10");
if ($RV_ZZ gt 0 )
{
print OUT $ausgabe_i_HV;
print OUT $ausgabe_HV[0]."\n";
$outputCount++;
}
elsif ($Z_VB_HV_2 gt 0)
{
print OUT $ausgabe_i_HV;
print OUT $ausgabe_HV[1]."\n";
$outputCount++;
}
elsif ($Z_VB_HV_3 gt 0)
{
print OUT $ausgabe_i_HV;
print OUT $ausgabe_HV[2]."\n";
$outputCount++;
}
elsif ($Z_VB_HV_4 gt 0)
{
print OUT $ausgabe_i_HV;
print OUT $ausgabe_HV[3]."\n";
$outputCount++;
}
elsif ($Z_VB_HV_5 gt 0)
{
print OUT $ausgabe_i_HV;
print OUT $ausgabe_HV[4]."\n";
$outputCount++;
}
elsif ($Z_VB_HV_6 gt 0)
{
print OUT $ausgabe_i_HV;
print OUT $ausgabe_HV[5]."\n";
$outputCount++;
}
elsif ($Z_VB_HV_7 gt 0)
{
print OUT $ausgabe_i_HV;
print OUT $ausgabe_HV[6]."\n";
$outputCount++;
}
elsif ($Z_VB_HV_8 gt 0)
{
print OUT $ausgabe_i_HV;
print OUT $ausgabe_HV[7]."\n";
$outputCount++;
}
elsif ($Z_VB_HV_9 gt 0)
{
print OUT $ausgabe_i_HV;
print OUT $ausgabe_HV[8]."\n";
$outputCount++;
}
elsif ($Z_VB_HV_10 gt 0)
{
print OUT $ausgabe_i_HV;
print OUT $ausgabe_HV[9]."\n";
$outputCount++;
}
Hi,
hat jemand vielleicht eine idee?
ja: Packe Variablen ähnlicher Nutzung in ein Array oder Hash, anstatt n nichts miteinander zu tun habende Skalare mit verschiedenen Namen zu deklarieren. Dann ist eine Schleife kein Problem mehr.
Cheatah
Hi,
hat jemand vielleicht eine idee?
ja: Packe Variablen ähnlicher Nutzung in ein Array oder Hash, anstatt n nichts miteinander zu tun habende Skalare mit verschiedenen Namen zu deklarieren. Dann ist eine Schleife kein Problem mehr.
was meinst du mit "Variablen ähnlicher Nutzung"
und "anstatt n nichts miteinander zu tun habende Skalare mit verschiedenen Namen zu deklarieren"
das ist mir irgendwie zu hoch, sorry.
kannst du mir vielleicht ein beispiel geben?
danke.
Moin!
was meinst du mit "Variablen ähnlicher Nutzung"
und "anstatt n nichts miteinander zu tun habende Skalare mit verschiedenen Namen zu deklarieren"
das ist mir irgendwie zu hoch, sorry.
kannst du mir vielleicht ein beispiel geben?
Statt
$Z_VB_HV_1
$Z_VB_HV_2
$Z_VB_HV_3
$Z_VB_HV_4
$Z_VB_HV_5
$Z_VB_HV_6
$Z_VB_HV_7
$Z_VB_HV_8
$Z_VB_HV_9
$Z_VB_HV_10
(das sind zehn nichts miteinander zu tun habende Skalare)
nimmst du
$Z_VB_HV[1]
$Z_VB_HV[2]
$Z_VB_HV[3]
$Z_VB_HV[4]
$Z_VB_HV[5]
$Z_VB_HV[6]
$Z_VB_HV[7]
$Z_VB_HV[8]
$Z_VB_HV[9]
$Z_VB_HV[10]
(das ist die Array-Variable @Z_VB_HV, die prima mit einer Schleife durchlaufen werden kann).
- Sven Rautenberg
Moin!
Statt
$Z_VB_HV_1
$Z_VB_HV_2
$Z_VB_HV_3
$Z_VB_HV_4
$Z_VB_HV_5
$Z_VB_HV_6
$Z_VB_HV_7
$Z_VB_HV_8
$Z_VB_HV_9
$Z_VB_HV_10
(das sind zehn nichts miteinander zu tun habende Skalare)
nimmst du
$Z_VB_HV[1]
$Z_VB_HV[2]
$Z_VB_HV[3]
$Z_VB_HV[4]
$Z_VB_HV[5]
$Z_VB_HV[6]
$Z_VB_HV[7]
$Z_VB_HV[8]
$Z_VB_HV[9]
$Z_VB_HV[10]
(das ist die Array-Variable @Z_VB_HV, die prima mit einer Schleife durchlaufen werden kann).
ja aber die einzelnen skalaren (z.B $Z_VB_HV3) sind aus einer csv-datei(hängen verschiedene Daten dahinter) also brauche ich die, oder geht das trotzdem?
Hi,
ja aber die einzelnen skalaren (z.B $Z_VB_HV3) sind aus einer csv-datei
lies diese so aus, dass die Werte in ein Array gespeichert werden.
Cheatah