Thread grep <br> in text (26 answers)
Opened by Hunnenkoenig at 2009-11-20 12:34

pq
 2009-11-21 15:41
#128393 #128393
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
wow. wo hast du die subroutine splitVars her? das ist noch steinzeitlicher als die steinzeitlichste CGI-verarbeitung, die ich bisher gesehen habe. mal als beispiel:
Code (perl): (dl )
1
2
3
if(index($item, "id", 0) >= 0){
    $appId = substr($item, index($item, "id", 0)+3, length($item));
}

das kann man in einem schritt verkürzen, wenn man weiss, dass es sich hier wohl um einen string der art id=12345&country=foobar handelt.
Code (perl): (dl )
my $appId = $item =~ m/id=(.*)/;


so, aber damit nicht genug, 2/3 des skriptes kann man signifikant kürzen und damit auch lesbarer machen:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use strict;
use warnings;
use CGI;
my $cgi = CGI->new;

my $currentSoftware = $cgi->param('id');
my $coCode = $cgi->param('country');

my $store = 143441;
my $flag = 0;
my $counter = 0;

print $cgi->header;

# ...
# sub splitVars fällt durch die verwendung von CGI.pm weg


was ich nicht verstehe, wieso schreibst du sowas wie:
Code (perl): (dl )
1
2
3
4
my $foo;

# 20 zeilen später
$foo = 23;


du musst nicht jede variable ganz oben deklarieren und darfst auch, wenn du willst, schon am anfang einen wert zuweisen.
mit welchem buch lernst du perl? mir scheint, du hast da ein schlechtes und zudem veraltetes erwischt.
Last edited: 2009-11-21 15:42:44 +0100 (CET)
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

View full thread grep <br> in text