Hallo Forum,
ich hoffe auf Eure Hilfe bei der Fehlersuche - ich sehe ihn nicht.
Im Array a_h_csv_ref sind Referenzen auf ein Hash hinterlegt.
Es gelingt mir nicht eine Referenz (z.B. HASH(0x8350634) )zu loeschen.
Wo ist der Fehler?
DANKE für irgenwelche Hilfen !!!
Nachfolgend die Print-Ausgabe zur Kontrolle:
>>>> h_csv_ref #####
HASH(0x8350634)
<<< ################
>>>> a_csv_tmp #####
HASH(0x834fe84)
HASH(0x8350164)
HASH(0x83502f4)
HASH(0x8350484)
HASH(0x8350634)
<<< ################
>>>> a_h_csv_ref ###
HASH(0x834fe84)
HASH(0x8350164)
HASH(0x83502f4)
HASH(0x8350484)
HASH(0x8350634)
<<< ################
Nachfolgend der zugehörige Code:
my @a_csv_tmp = grep !/$h_csv_ref/ , @a_h_csv_ref;
while( @a_h_csv_ref ) { shift( @a_h_csv_ref ); }
push( @a_h_csv_ref, @a_csv_tmp );
while( @a_csv_tmp ) { shift( @a_csv_tmp ); }
open( ERR, ">>$bindir/mailtext.txt" );
print ERR ">>>> h_csv_ref ############\n";
print ERR $h_csv_ref . "\n";
print ERR "<<< #######################\n\n";
print ERR ">>>> a_csv_tmp ############\n";
foreach my $eintrag_1 ( @a_csv_tmp ) { print ERR $eintrag_1 . "\n"; }
print ERR "<<< #######################\n\n";
print ERR ">>>> a_h_csv_ref ##########\n";
foreach my $eintrag_2 ( @a_h_csv_ref ) { print ERR $eintrag_2 . "\n"; }
print ERR "<<< #######################\n\n";
close( ERR );