Thread grep /$var/, @array (3 answers)
Opened by Jiep1963 at 2014-03-15 16:37

Jiep1963
 2014-03-15 16:37
#174139 #174139
User since
2008-08-20
37 Artikel
BenutzerIn

user image
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:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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 );

View full thread grep /$var/, @array