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

$zeichen = "+" in einer Rechnung verwenden.

Leser: 1


<< |< 1 2 >| >> 16 Einträge, 2 Seiten
pl
 2007-08-15 23:29
#98233 #98233
User since
2007-06-05
26 Artikel
BenutzerIn
[default_avatar]
my $zahl1 = 3523;
my $zahl2 = 567;
my $rechenart = "+";

$rechnung = $zahl1$rechenart$zahl2

Wie kann ich es schaffen das Perl mir $rechenart nicht als string sondern als Pluszeichen in $rechnung dient?
styx-cc
 2007-08-16 00:47
#98235 #98235
User since
2006-05-20
533 Artikel
BenutzerIn

user image
Code: (dl )
1
2
3
4
5
#!/usr/bin/perl -w
use strict;

my ($z1, $r, $z2) = (35, '+', 35);
print eval($z1.$r.$z2);


edit: den thread gibts ja 2x, und beides dieselbe loesung =)
Pörl.
styx-cc
 2007-08-16 01:14
#98237 #98237
User since
2006-05-20
533 Artikel
BenutzerIn

user image
Noch n "schicker" link hinterher:
http://gd.tuwien.ac.at/languages/perl/Hajji-Perlku...
Pörl.
pl
 2007-08-16 01:30
#98239 #98239
User since
2007-06-05
26 Artikel
BenutzerIn
[default_avatar]
Danke, immer wenn ich ein Thema eröffne, erscheint es 2 mal, ?ich glaub ich spinn?
sid burn
 2007-08-16 01:52
#98242 #98242
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
Hier noch eine andere Methode die kein String eval nutzt:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/usr/bin/perl
use strict;
use warnings;

my %rechnung = (
'+' => sub { $_[0] + $_[1] },
'-' => sub { $_[0] - $_[1] },
);

my $zahl1 = 1234;
my $zahl2 = 4321;
my $rechenart1 = '+';
my $rechenart2 = '-';

print $rechnung{$rechenart1}->($zahl1, $zahl2), "\n";
print $rechnung{$rechenart2}->($zahl1, $zahl2), "\n";



EDIT: BUG: Warum sind im Code Beispiel auf einmal so viele Leerzeilen dazwischen???
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
pl
 2007-08-16 13:20
#98263 #98263
User since
2007-06-05
26 Artikel
BenutzerIn
[default_avatar]
Kann mir jemand erklären was das "->" in Sidburns letzter Zeile heißt? Oder besser was es bewirkt.
sid burn
 2007-08-16 13:25
#98264 #98264
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
pl+2007-08-16 11:20:16--
Kann mir jemand erklären was das "->" in Sidburns letzter Zeile heißt? Oder besser was es bewirkt.

Der Pfeil dereferenziert Sachen.

Im Hash sind ja Referenzen auf Subroutinen. Daher gibt $rechnung{'+'} eine Subroutine zurück. Da ich nicht mit der Referenz sondern damit arbeiten möchte worauf die Referenz zeigt, muss man dereferenzieren, das macht der pfeil.

Allerdiengs würde das auch so gehen.

Code: (dl )
$rechnung{'+'}($zahl1, $zahl2);


Durch dieses Konstrukt weiß er automatisch das er Dereferenzieren muss, und tut es auch.

Siehe auch: perlretut
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
Ronnie
 2007-08-16 13:57
#98265 #98265
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
sid burn+2007-08-15 23:52:54--
EDIT: BUG: Warum sind im Code Beispiel auf einmal so viele Leerzeilen dazwischen???

Ist mir auch aufgefallen. Nimm alternativ perl-Tags, die machen das nicht.
sid burn
 2007-08-16 14:03
#98266 #98266
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
Ronnie+2007-08-16 11:57:17--
sid burn+2007-08-15 23:52:54--
EDIT: BUG: Warum sind im Code Beispiel auf einmal so viele Leerzeilen dazwischen???

Ist mir auch aufgefallen. Nimm alternativ perl-Tags, die machen das nicht.

Die fügen aber so Zeilennumern hinzu so das keiner mehr Copy&Paste machen kann.
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
RPerl
 2007-08-16 14:06
#98267 #98267
User since
2006-11-26
384 Artikel
BenutzerIn

user image
<< |< 1 2 >| >> 16 Einträge, 2 Seiten



View all threads created 2007-08-15 23:29.