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

Switch und Perlversion



<< |< 1 2 >| >> 12 Einträge, 2 Seiten
morph
 2006-05-12 17:21
#66035 #66035
User since
2007-12-06
79 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hi beisammen.

Code: (dl )
1
2
require 5.006;
use Switch;


Ist das so abgedeckt, oder steht Switch erst ab einer späteren Version zur Verfügung?

-uw
vayu
 2006-05-12 17:26
#66036 #66036
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
probiers halt aus -.-
morph
 2006-05-12 17:33
#66037 #66037
User since
2007-12-06
79 Artikel
BenutzerIn
[Homepage] [default_avatar]
Die Frage hatte eher vorbeugenden Charakter.

Ich habe das so programmiert. Auf meinem System ist jedoch Perl 5.008 und bei funktioniert das auch problemlos. Jedoch entwickle ich ein System, dass auch auf anderen Maschinen laufen soll.

-uw
lichtkind
 2006-05-12 17:52
#66038 #66038
User since
2004-03-22
5680 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
switch kam erst ab 5.8.0 im core siehe:

http://dev.perl.org/perl5/news/2002/07/18/580ann/perldelta.html
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
pq
 2006-05-12 18:18
#66039 #66039
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
Code: (dl )
1
2
3
$ corelist Switch

Switch was first released with perl 5.007003
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
GwenDragon
 2006-05-12 20:51
#66040 #66040
User since
2005-01-17
14548 Artikel
Admin1
[Homepage]
user image
[quote=TbHoCne,12.05.2006, 15:33]Auf meinem System ist jedoch Perl 5.008 und bei funktioniert das auch problemlos. Jedoch entwickle ich ein System, dass auch auf anderen Maschinen laufen soll.[/quote]
Warum entwickelst du nicht mit mehreren Perl-Versionen?
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

morph
 2006-05-12 22:56
#66041 #66041
User since
2007-12-06
79 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hi,

ok, dann sollte ich auf switch eher verzichten. Ist ja kein Beinbruch.

Mit mehreren Versionen zu entwickeln, das wäre komplettes Neuland für mich. Da ich aber vorankommen muss, stelle ich das erst einmal hinten an. Dennoch frage ich aber an, ob es für solche Sachen gute Tutorials gibt.

Der Link zum PerlDelta ist schon mal sehr gut. Vielen Dank an lichtkind. Werde das eigehend studieren.

-uw
pq
 2006-05-12 23:09
#66042 #66042
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
Switch würd ich sowieso nicht verwenden, ist ein source-filter.
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
Strat
 2006-05-13 13:16
#66043 #66043
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
ich muss gestehen, anstelle von switch lieber mit einem hash zu arbeiten... also wenn z.B. bei einem cgi immer ueber den parameter action an subroutinen verzweigt werden soll, dann verwende ich haeufig sowas wie das folgende:
Code: (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
44
45
package MyApp::Config;
use vars qw($ActionsHRef);
use Readonly $ActionsHRef =>
{
default => {
subroutine => \&ActionDefault,
template => 'action_default.tmpl',
},
overview => {
subroutine => \&ActionOverview,
template => 'action_overview.tmpl',
maxEntriesPerPage => 40,
},
# ...
};

package main; # hauptprogramm
use CGI;
my $cgi = CGI->new();
my $action = $cgi->param('action') || 'default'; # action nie 0

my $dbh = DBI->connect($dsn, $user, $pw)
or die ...;

my $subRef;
if( exists $MyApp::Config::ActionsHRef->{$action} ) {
$subRef = $MyApp::Config::ActionsHRef->{$action}->{subroutine};
} # if
else {
$subRef = $MyApp::Config::ActionsHRef->{'action_error'};
} # else

my ($templateFile, $params) = $subRef->( $cgi, $dbh, $action );
print $cgi->header();
my $template = &ReadAndFillTemplate( $templateFile, %DefaultParams, %$params );
$template->output();
# -----------------------------------------
sub ActionDefault {
my ($cgi, $dbh, $action) = @_;

# mach was...
my %params = (p1 => 'v1', p2 => 'v2');

return ($MyApp::Config::ActionsHRef->{$action}->{template}, \%params);
} # ActionDefault

oder so aehnlich
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
ptk
 2006-05-13 22:06
#66044 #66044
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
[quote=pq,12.05.2006, 21:09]Switch würd ich sowieso nicht verwenden, ist ein source-filter.[/quote]
Ack. Switch hat wirklich schlimme Bugs. Aber ab perl 5.10 kann man ja given/when verwenden.
<< |< 1 2 >| >> 12 Einträge, 2 Seiten



View all threads created 2006-05-12 17:21.