Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]11147[/thread]

Kompaktere und wartbare Funktionen schrieben



<< >> 6 Einträge, 1 Seite
mr-sansibar
 2008-01-16 21:20
#104799 #104799
User since
2006-04-13
90 Artikel
BenutzerIn
[default_avatar]
ich bin nicht so der mensch, der kompakte funktionen schrieben kann:

ist es möglich diese funktion kompkater zu schreiben und gegebenfalls gut zu warten !

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
40
41
42
sub find_server_instanz {
        my ($server_instanz) = @_;
        
        if ( $server_instanz =~ /aja1/ ) {
                return 'aja1';
        }
        elsif ( $server_instanz =~ /aja2/ ) {
                return 'aja2';
        }
        elsif ( $server_instanz =~ /aja3/ ) {
                return 'aja3';
        }
        elsif ( $server_instanz =~ /aja4/ ) {
                return 'aja4';
        }
        elsif ( $server_instanz =~ /aja5/ ) {
                return 'aja5';
        }
        elsif ( $server_instanz =~ /aja6/ ) {
                return 'aja6';
        }
        elsif ( $server_instanz =~ /antef1/ ) {
                return 'antef1';
        }
        elsif ( $server_instanz =~ /antef2/ ) {
                return 'antef2';
        }
        elsif ( $server_instanz =~ /antef3/ ) {
                return 'antef3';
        }
        elsif ( $server_instanz =~ /antef4/ ) {
                return 'antef4';
        }
        elsif ( $server_instanz =~ /antef5/ ) {
                return 'antef5';
        }
        elsif ( $server_instanz =~ /antef6/ ) {
                return 'antef6';
        
        
        
}


danke
#Kein Kommentar
 2008-01-16 21:26
#104801 #104801
User since
2007-06-09
575 Artikel
HausmeisterIn
[default_avatar]
klar da gab es letztens erst einen thread


EDIT: warte, du bist ja der verfasser des alten threads. wieso reichen die tipps da nicht?
Gerade weil wir alle in einem Boot sitzen, sollten wir froh sein, dass nicht alle auf unserer Seite sind
ptk
 2008-01-16 21:39
#104802 #104802
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Vielleicht so?
Code: (dl )
1
2
3
4
5
if ($server_instanz =~ /(   aja[1-6]
| antef[1-6]
)/x) {
return $1;
}
Linuxer
 2008-01-16 22:23
#104806 #104806
User since
2006-01-27
3875 Artikel
HausmeisterIn

user image
Aber "'#Kein Kommentar"s Frage find ich schon berechtigt.
Was ist an dieser Fragestellung so grundlegend anders, dass sie mit den Lösungen im alten Thread nicht gelöst werden könnte?

Unabhängig davon, noch eine andere Möglichkeit:

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
40
41
42
43
#!/usr/bin/perl
use strict;
use warnings;

sub finde_server_instanz {
        my ($instanz) = @_;

        # fuer die tipp-freudigen
        my $return =
            $instanz =~ /aja1/ ? 'aja1' 
          : $instanz =~ /aja2/ ? 'aja2'
          : $instanz =~ /aja3/ ? 'aja3'
          : undef;

        return $return;
}

# ODER

sub finde_server_instanz2 {
        my ($instanz) = @_;

        # fuer die tipp-faulen
        my $return =
            $instanz =~ /(aja\d)/ ? $1
          : $instanz =~ /(antef\d)/ ? $1
          : undef;

        return $return;
}

# ODER
#
sub finde_server_instanz3 {
        my ($instanz) = @_;

        # fuer die anderen
        my $return =
            $instanz =~ /((?:aja|antef)\d)/ ? $1
          : undef;
    
        return $return;
}


Möglicherweise wäre auch index() eine betrachtenswerte Funktion als Alternative zum RegEx.
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!
mr-sansibar
 2008-01-17 16:20
#104840 #104840
User since
2006-04-13
90 Artikel
BenutzerIn
[default_avatar]
#Kein Kommentar+2008-01-16 20:26:44--
klar da gab es letztens erst einen thread


EDIT: warte, du bist ja der verfasser des alten threads. wieso reichen die tipps da nicht?


ja stimmt !
aber die lösung die ihr mir angeboten hattet, hat auch string gefunden die, die für mein anliegen nicht wichtig waren.

ich suche nach bestimmten exceptions in einem ganz langen string, eure lösung fand auch exception-strings, die ich nicht gebrauchen konnte.

aber ansonsten waren die lösungen recht hübsch :-)
renee
 2008-01-17 16:29
#104843 #104843
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Da wären Beispiel nicht schlecht gewesen!
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/
<< >> 6 Einträge, 1 Seite



View all threads created 2008-01-16 21:20.