#!/usr/bin/perl use strict; use warnings; use File::Basename; my ($pfad)="/pfad/"; my (@dateien1) = glob "$pfad*Filter*.Endung"; my (@dateien2); my ($datei1, $datei2); my ($file); my ($job2); my ($id1, $id2); my (@dateinamen); my (@dateinamen2); my ($file2); foreach $datei1 (@dateien1){ $datei1 = basename ($datei1); if (defined($file)){ $file2 = $file; my (@zwiarray2) = split /\./, $file2; $job2 = $zwiarray2[0]; ### nachfolgende Zeile geändert, vorher: $zwiarray2[5] $id2 = $zwiarray2[4]; } my (@zwiarray) = split /\./, $datei1; my ($job) = $zwiarray[0]; ### nachfolgende Zeile geändert $id1 = $zwiarray[4]; if ($job eq $job2){ print " $job ist gleich $job2!\n"; push @dateinamen, $file; push @dateinamen, $datei1; }else{ print "$job ist nicht gleich $job2!\n"; push @dateinamen2, $datei1; ####hier erfolgt dann die Übergabe der Arrays @dateinamen1/@dateinamen2 an eine ####Subroutine, die ein Programm starten und mit Daten füttern soll. } $file = $datei1; } print " array1: @dateinamen,\n"; print " array2: @dateinamen2\n";