Schrift
[thread]8659[/thread]

Array...

Leser: 3


<< >> 3 Einträge, 1 Seite
cytrics
 2007-01-20 01:03
#73364 #73364
User since
2006-08-30
8 Artikel
BenutzerIn
[default_avatar]
Hy,

habe folgende Problematik:
Im 1. Array habe ich eine Auflistung von Dateien, die in einem Verzeichnis stehen:
file1.xls
file2.xls
file3.xls

Im 2. Array habe ich einen Inhalt aus einer Textdatei:
file1.xls
file2.xls


Wenn ich nun die beiden Arrays vergleiche, bekomme ich immer nur 1 Treffer, obwohl es 2 sein müssten.
Hintergrund ist der, das ich die Dateien (Array1), deren Dateinamen in der Textdatei stehen, verschieben möchte.

Ausgabe bei Dumper:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
$VAR1 = [
'file1.xls
',
'file2.xls'
];
$VAR1 = [
'.',
'..',
'file1.xls',
'file2.xls',
'file3.xls'
];


Der Code (no design!!):


Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
use diagnostics;
use Data::Dumper;

$path = "c:\\temp\\Kontierung\\Databases\\ITS_DB.txt";
open(FILE, $path );
@Zeilen=<FILE>;
close(FILE);

my $Verzeichnis = "c:\\temp\\Kontierung\\All\\";
opendir(DIR, $Verzeichnis) || die "$Verzeichnis: $!";
my @Eintraege = readdir(DIR);
closedir(DIR);

my @tmp = grep{my $elem = $_; grep{$_ eq $elem}@Zeilen}@Eintraege;
foreach my $merges ( @tmp )
{
print $merges;
}

print Dumper \@Zeilen;
print Dumper \@Eintraege;


Danke schon mal für Hilfe...

Gruß
nepos
 2007-01-20 02:39
#73365 #73365
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Beim ersten Dateinamen haengt noch der Zeilenumbruch mit dran. Mach mal noch ein
Code: (dl )
chomp(@Zeilen);
vor dem eigentlichen Vergleich. Dann solltest du 2 Treffer kriegen.
cytrics
 2007-01-20 23:42
#73366 #73366
User since
2006-08-30
8 Artikel
BenutzerIn
[default_avatar]
Hy Nepos,

ja, genau, das war's...
Wald vor lauter Bäumen, usw....

DANKE

Gruß
<< >> 3 Einträge, 1 Seite



View all threads created 2007-01-20 01:03.