Eingabe ?

prediAndre

Mitglied
hi,
ich hab einen kleinen Script / Programm in perl geschrieben, dass Dateien sichert !
Klappt auch alles bestens, nur ich würde gern noch eine Abfrage einbauen !

Also :

"Wollen sie die Dateien speichern ?"


In c++ wüsste ich wies geht, aber wie macht man das in perl ?
(danach soll eine if ablaufen ... ja = if / elsif = nein)



danke schonmal,


André
 
Code:
print "Sichern ";
my $antwort = <STDIN>;
chomp $antwort;

if($antwort eq 'yes'){
  print "wird gesichert...\n";
}
 
Code:
#!/usr/bin/perl

use strict;
use File::Copy;


my @quelle = ('/home/ah/ordnera' , '/home/ah/ordnerb' , '/home/ah/ordnera' , '/home/ah/ordnera');
my $ziel = ('/home/ah/ordnerc');
 
do
{
print "\n\n";
print "Wollen Sie die Dateien kopieren ?\n";

my $antwort = <STDIN>;
chomp $antwort;

     if(($antwort eq 'ja') || ($antwort eq 'j') || ($antwort eq 'y'))
  {
  print "wollen sie auch Unterordner kopieren ? \n";
     my $antwort2 = <STDIN>;
     chomp $antwort2;
     if(($antwort2 eq 'ja') || ($antwort2 eq 'j') || ($antwort2 eq 'y')) 
     {
     print "\n\n\n";
     
        for my  $ordner (@quelle) 
        {
        for my $file (glob("$ordner/*.*"))
          {
          copy($file, $ziel);
          }
        }
     print "Dateien wurden kopiert ! \n\n";    
     }  
     
     elsif(($antwort2 eq 'nein') || ($antwort2 eq 'n'))
     {
     print "\n\n\n";
     
        for my  $ordner (@quelle) 
        {
        for my $file (glob("$ordner/*"))
          {
          copy($file, $ziel);
          }
        }
     print "Dateien wurden kopiert ! \n\n";    
     }  
     
     
       
  }
     elsif(($antwort eq 'nein') || ($antwort eq 'n'))
      {
      print "\n\n\n";
      print "Es werden keine Dateien kopiert ! \n\n";
      }
}

ok, sieht ein bissel unordentlich aus :) ,
aber ich wollt mal wissen, wie ich die Unterordner kopieren kann ?
Mit ordner/* gehtn ja nur Dateien oder ?
 
Danke erstmal,
aber ich bin darauß nicht wirklich schlauer geworden bzw schlauer schon, weiß trotzdem net wies geht :confused:

Könntest du es mir an meinem Beispiel erklären / zeigen ?!
 
man cp
und Backticks benutzt du dazu, um Systembefehle auszuführen.

Eine gewissenes, analoges Übertragen sollte man schon beherrschen, wenn man programmieren möchte.
 
Wenn du es lieber etwas Systemübergreifender lösen magst, kann ich dir die Module File::Find und File::Copy ans Herz legen. :)

Sind soweit ich informiert bin beide in der Standarddistribution von Perl enthalten.
 

Neue Beiträge

Zurück