perl Script Parameter
Mit der folgenden kleinen Funktion können Kommandozeilenargumente in einen Hash umgewandelt werden. Es gilt: Argumente, die durch ein “-” eingeleitet werden dürfen nur aus einem Zeichen bestehen, Parameter die mit “- -” beginnen können aus mehreren Zeichen bestehen. Jeder Parameter kann mit “=” erweitert werden. Der Hash, der zurückgegeben wird enthält als Schlüssel alle Argumente und als Wert den dazugehörigen Wert bzw. “true”, wenn kein Wert angehängt wurde.
sub getArgv {
my %return;
foreach (@_) {
s/^(-(\w{1})=?(.*))|(--(\w*)=?(.*))$/$2$5/;
$return{$2.$5} = ($3 || $6) ? $3 . $6 : true if ($2 || $5);
}
return %return;
}
Verbesserungsvorschläge bitte als Mail.