Yann Wissenbach wrote:
Irgendwie will meine if (-e ...) Schleife nicht. Er springt immer in das ELSE ! Die Dateien, die in $batchfile aufgelistet sind existieren im Verzeichnis $indir.
Wenn ich statt $job direkt den Dateinamen angebe geht es. Es geht auch, wenn ich hart sage $job = "Dateiname.Endung";
Es will nur nicht, wenn er den Inhalt von $job aus der $batchfile lesen soll.
Was mach ich falsch !?!?!
--------- #!/usr/bin/perl $indir = "/scripts/files/"; $batchfile = "/scripts/input/job";
use File::Path; use File::Copy;
chdir ("$indir"); @input=`cat $batchfile`; foreach $job (@input) {
chomp $job;
if (-e $job) { print $file; print "OK\n"; } else { print "noe\n"; } }
Versuchs mal so (ich denke, das in $batchfile pro Zeile eine Datei steht, oder?) Andreas
Hallo, Danke für die Hilfe ! das chomp hat die Lösung gebracht. Verdammt :) Hatte eigentlich immer "$file = substr($file,0,-1);" zum abschneiden von Zeilenumbrüchen, aber hier hat das nicht funktioniert :-( Hier das laufende: ---- #!/usr/bin/perl $indir = "/scripts/files/"; $batchfile = "/scripts/input/job"; use File::Path; use File::Copy; chdir ("$indir"); @input=`cat $batchfile`; foreach $job (@input) { chomp($job); if (-e $job) { print $file; print "OK\n"; } else { print "noe\n"; } } ---- -- MfG Yann Wissenbach - Administration/Support compass Gesellschaft fuer Medientechnologie mbH Robert-Koch-Str. 35 D-55129 Mainz mail: y.wissenbach@compass-online.de www : http://www.compass-online.de fon : +49 6131 90 63 - 121 fax : +49 6131 90 63 - 222
-----Original Message----- From: Kyek, Andreas, VF-DE [mailto:A.Kyek@vodafone.com] Sent: Monday, July 05, 2004 1:09 PM To: suse-linux@suse.com Subject: Re: perl -e Frage
Yann Wissenbach wrote:
Irgendwie will meine if (-e ...) Schleife nicht. Er springt immer in das ELSE ! Die Dateien, die in $batchfile aufgelistet sind existieren im Verzeichnis $indir.
Wenn ich statt $job direkt den Dateinamen angebe geht es. Es geht auch, wenn ich hart sage $job = "Dateiname.Endung";
Es will nur nicht, wenn er den Inhalt von $job aus der $batchfile lesen soll.
Was mach ich falsch !?!?!
--------- #!/usr/bin/perl $indir = "/scripts/files/"; $batchfile = "/scripts/input/job";
use File::Path; use File::Copy;
chdir ("$indir"); @input=`cat $batchfile`; foreach $job (@input) {
chomp $job;
if (-e $job) { print $file; print "OK\n"; } else { print "noe\n"; } }
Versuchs mal so (ich denke, das in $batchfile pro Zeile eine Datei steht, oder?)
Andreas
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
Hallo, Am Mon, 05 Jul 2004, Yann Wissenbach schrieb:
---- #!/usr/bin/perl $indir = "/scripts/files/"; $batchfile = "/scripts/input/job";
use File::Path; use File::Copy;
chdir ("$indir"); @input=`cat $batchfile`; foreach $job (@input) { chomp($job);
if (-e $job) { print $file; print "OK\n"; } else { print "noe\n"; } }
Warum eigentlich nicht: ==== chdir($indir) or die $!; open(LST, "<$batchfile") or die $!; while(<LST>) { chomp; if( -e $_ ) { print "$_ OK\n"; } else { print "noe\n"; } } close(LST); ==== -dnh -- Now where were those frickin sharks with the frickin laser beams on their frickin heads? -- Bruce Tomlin
participants (3)
-
David Haller
-
Kyek, Andreas, VF-DE
-
Yann Wissenbach