Thread Bash to Perl Umsetzung (42 answers)
Opened by kezall at 2014-03-25 09:45

Linuxer
 2014-03-25 23:23
#174427 #174427
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
2014-03-25T10:50:30 kezall
In meinem Bash-Code habe ich bei ls nachgebessert, hier sol: *.tif stehen womit die neu erstellten Dateien angezeigt werde sollten und nicht die alten: *.png.

Denoch bringt der Perl-Code von Linuxer keine *.tif - nicht mal eine einzige - raus. Könntest Du mir bitte hiermit einwenig behilflich sein? Wäre Dir sehr verbunden.


Wieso soll mein Perl-Code was anderes liefern, wenn Du Dein Bash-Skript änderst?

Ich habe meinen Code jetzt auf einem Linux mit ImageMagick und convert ausprobiert, und er funktioniert.
Die PNG-Dateien im jeweils aktuellen Verzeichnis werden konvertiert und als TIF-Dateien abgelegt.

Verrate doch mal endlich, was Du aus meinem Code gemacht hast.
Also, wie sieht Dein Code aus, den Du ausführst?
Was passiert, wenn Du Deinen Code ausführst? Was passiert nicht?
Bekommst Du Warnungen oder Meldungen?
Wie lauten diese?
(Hatte ich Dir bereits geschrieben, aber das hast Du leider ignoriert.)

Liefere doch bitte endlich mal Informationen und lass Dir nicht alles einzeln aus der Nase ziehen oder gehe von User zu User hausieren... Sorry für die deutlichen Worte...

Bitte mal lesen: Wiki:AllgemeinesWieFrageIchbeiPerlCommunity

Testcode:
more (5.1kb):

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#! /usr/bin/perl
use strict;
use warnings;

my $cmd = "/usr/bin/convert";

my $anzahl = 0;
# lese alle Dateien *.png aus dem aktuellen Verzeichnis
for my $file ( <*.png> ) {

  # ausgabe dateiname definieren
  ( my $newfile = $file ) =~ s/png$/tif/;

  # aufruf: convert inputfile outputfile; meldung bei fehler
  if ( system( $cmd, $file, $newfile ) == 0 ) {
        $anzahl++;
  }
  else {
       warn "system($cmd, $file, $newfile) failed: $!\n";
   }
}

# etwas andere Umsetzung des ls -m *.tif; wieder im aktuellen Verzeichnis
print "$anzahl Bild(er) konvertiert.\n",
  join( ", ", <*.tif> ),
  "\n",
;
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread Bash to Perl Umsetzung