Schrift
[thread]7879[/thread]

Programmstart mit Schalter?



<< |< 1 2 >| >> 11 Einträge, 2 Seiten
EagleFox
 2006-04-12 12:13
#64741 #64741
User since
2006-04-10
66 Artikel
BenutzerIn
[default_avatar]
Hallo Leute,

wie bekomme ich es eigentlich hin, dass ein Programm mit Schalter startet.

Also ich habe ein Programm (heisst cut.pl) und das soll in einer Datei bestimmte Sachen erledigen und diese Datei unter neuem Namen speichern.

Wie schaffe ich es, dass ich den Dateinamen der zu bearbeitenden Datei als Schalter mit angebe. Also z.B.

Code: (dl )
./cut.pl cuzno1_01.dat


wobei cuzno1_01.dat die Datei ist, die dann unter cuzno1_01.cut.dat wieder gespeichert werden soll. Alle zu bearbeitenden Dateien enden mit .dat. Die neuen Dateien sollen immer mit .cut.dat enden.

Jemand ne Idee?
renee
 2006-04-12 13:02
#64742 #64742
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wenn Du das Programm mit cut.pl cuzno1_01.dat aufrufst, dann steht der Dateiname in $ARGV[0]

Code: (dl )
1
2
3
4
5
6
#!/usr/bin/perl

use strict;
use warnings;

print $ARGV[0];


Wenn Du mit "Schaltern" (Optionen) arbeiten willst, dann empfehle ich Dir CPAN:Getopt::Long. Da hatten wir gerade diese Woche auch einen anderen Thread...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
EagleFox
 2006-04-12 13:21
#64743 #64743
User since
2006-04-10
66 Artikel
BenutzerIn
[default_avatar]
Super! Vielen Dank! Das klappt schon mal!

Wie splitte ich nun noch den Dateinamen auf, so dass das Programm aus cuzno1_01.dat ein cuzno1_01.cut.dat macht. Also aus den Dateien, die alle mit .dat enden, sollen Namen werden, die mit .cut.dat enden.
renee
 2006-04-12 13:34
#64744 #64744
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
1
2
3
my ($file,$suffix) = $ARGV[0] =~ /(.*?)(\.[^\.]+)$/;
my $original = $ARGV[0];
my $cut = $file.'.cut'.$suffix;


oder besser CPAN:File::Basename verwenden
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
EagleFox
 2006-04-12 14:10
#64745 #64745
User since
2006-04-10
66 Artikel
BenutzerIn
[default_avatar]
Genial!
Das läuft wunderbar! perl werde ich wohl nie verstehen, das ist so kryptisch!

Aller besten Dank!
renee
 2006-04-12 16:32
#64746 #64746
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das hat mit Perl rein gar nichts zu tun. Das sind ganz normale Reguläre Ausdrücke, wie man sie in vielen Programmiersprachen verwenden kann.

Lesestoff zu Regulären Ausdrücken:

perlreref
perlre
perlrequick
perlretut

http://www.regenechsen.de

Und wer auf die Regulären Ausdrücke verzichten will, kann ja auch CPAN:File::Basename verwenden.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Crian
 2006-04-12 17:01
#64747 #64747
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Naja mit File::Basename kann man den Namen aber auch nicht am letzten Punkt auftrennen... und das ist ein ziemlich einfach regulärer Ausdruck. Den kann man auch als Anfänger mit wenig Einlesen leicht verstehen.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Relais
 2006-04-12 17:10
#64748 #64748
User since
2003-08-06
2244 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=Crian,12.04.2006, 15:01]Naja mit CPAN:File::Basename kann man den Namen aber auch nicht am letzten Punkt auftrennen.[/quote]
Da ist ein nicht zuviel!

CPAN:File::Basename - Parse file paths into directory, filename and suffix.

Zugegeben, die Bedienbarkeit jener Funktion ist nicht das gelbe vom Ei.
Erst denken, dann posten --
26. Deutscher Perl- u. Raku -Workshop 15. bis 17.04.2024 in Frankfurt/M.

Winter is Coming
renee
 2006-04-12 17:11
#64749 #64749
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=Crian,12.04.2006, 15:01]Naja mit File::Basename kann man den Namen aber auch nicht am letzten Punkt auftrennen... und das ist ein ziemlich einfach regulärer Ausdruck. Den kann man auch als Anfänger mit wenig Einlesen leicht verstehen.[/quote]
und was ist dann $suffix? *g*

Quote
($name,$path,$suffix) = fileparse($fullname,@suffixlist);
\n\n

<!--EDIT|renee|1144848034-->
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Strat
 2006-04-12 17:40
#64750 #64750
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
my ($name, $path, $suffix) = fileparse($fullname, qw(xls doc txt));
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< |< 1 2 >| >> 11 Einträge, 2 Seiten



View all threads created 2006-04-12 12:13.