Thread Probleme mit GetOpt::Long (19 answers)
Opened by YAPD at 2019-06-23 15:58

Linuxer
 2019-06-23 19:41
#190134 #190134
User since
2006-01-27
3870 Artikel
HausmeisterIn

user image
Zum Thema eigene Meldung:

Wenn Du mit dem Signal-Hook $SIG{__WARN__} arbeitest, brauchst Du keinen eval-Block.

Ich würde das nutzen, um die generischen Meldungen nach Wunsch zu ersetzen. Z.B.:

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
28
29
30
31
32
33
34
35
36
37
38
39
#! /usr/bin/perl
use strict;
use warnings;

use 5.020;
use Getopt::Long;

#> sub routines
#> --------------------------------------------------------------------

sub modified_warnings {
    my ( $message ) = @_;

    # Ersetze hier die generische Meldungen jeweils durch eine eigene
    $message =~ s/Unknown option: .+/Parameter - Fehler/;
    $message =~ s/Option (.+) requires an argument$/Parameter $1 benoetigt ein Argument./;

    print STDERR $message;
}



#> main programm
#> --------------------------------------------------------------------

my $foo = "default";
my $bar = "default";

{
    local $SIG{__WARN__} = \&modified_warnings;

    GetOptions(
        'foo:s' => \$foo,
        'bar=i' => \$bar,
    ) or die "Falsche Verwendung!\n";
};

say "Foo: $foo";
say "Bar: $bar";
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 Probleme mit GetOpt::Long