Schrift
[thread]7125[/thread]

Regulärer Ausdruck startparameter



<< >> 5 Einträge, 1 Seite
pq
 2005-07-03 15:06
#56283 #56283
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
probier $ARGV[1]
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
renee
 2005-07-11 18:56
#56284 #56284
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
wobei @argv @ARGV heißen muss...

ich persönlich bevorzuge bei Startparametern (wenn es mehr als eins ist) ein Modul wie CPAN:Getopt::Long.
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/
Gast Gast
 2005-07-03 14:45
#56285 #56285
Hallo

ich habe folgendes Problem:

Ich möchte beim start meines perlscripts mithilfe von Regulären Ausdrücken folgenden abgreifen wobei copylcs das perl script ist:

copylcs.pl ftpr:\test.txt c:\test\

ich habe mit dem folgenden code bereits $1(ftp),$2&reg;,$3(\test.txt) herausgefitert
if($ARGV[0]=~/^\s*ftp([A-Za-z]):(\\?)(.*)/i)

aber leider kriege ich nicht die position wo das c sich befindet und den Pfad dazu gespeichert
kann mir da jemand helfen?

Danke
J-jayz-Z
 2005-07-11 18:46
#56286 #56286
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
In @ARGV werden alle Kommandozeilen Parameter festgehalten. Wenn dies Parameter immer nur aus einer bekannten Anzahl bestehen, kannst du das so machen, wie pq meinte. Das eine in $argv[0] nachschauen und das anderen in $argv[1]. Ansonsten ist eine foreach Schleife ganz praktisch. Etwa so:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/perl
use strict;
use warnings;

my $variable1;
my $variable2;
...
.....
foreach(@ARGV) {
if(/^ftp.*/i) {
$variable1 = $_;
} else { #oder elsif und Muster
$variable2 = $_;
}
}


EDIT: Immer diese Groß und klein Schreibung ^^\n\n

<!--EDIT|J-jayz-Z|1121097508-->
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
pq
 2005-07-11 19:55
#56287 #56287
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
nebenbei hat die frage nix mit dem web zu tun.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
<< >> 5 Einträge, 1 Seite



View all threads created 2005-07-03 15:06.