Thread JavaScript in Perl übersetzen (52 answers)
Opened by Nicki271 at 2008-06-23 09:29

Linuxer
 2009-02-20 12:02
#119033 #119033
User since
2006-01-27
3881 Artikel
HausmeisterIn

user image
Ich kommentiere mal in Deinem Code und versuche, Deinen Code als Basis zu behalten:
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
#!/usr/bin/perl

use strict;
use warnings;

# überflüssige Liste und Leerstring entfernt; dafür String geändert:
print "Geben Sie eine Zahl ein: ";

# Dateneingabe und Umbruch Entfernen kombiniert
chomp( my $zahl_a = <STDIN> );

my $zahl_b= 2;

if( $zahl_a%$zahl_b == 0 )   {

  # Strings werden mit '.' verknüpft, nicht mit '+'
  # ausserdem kann print Listen verarbeiten; das nutzen wir hier mal
  # und 'a' ist ein bareword; deine variable heisst doch $zahl_a
  # Umbruch eingefügt
  print"Das Ergebnis der Division von ", $zahl_a, "ergibt eine Nichtkommazahl.\n";
}
else {
  # s.o.
  print "Das Ergebnis der Division von ", $zahl_a, " durch 2 ergibt eine Kommazahl.\n"; 
}


edits:
Weitere Anmerkungen:

- Variablennamen wie "zahl_a" oder "zahl_b" sind ungünstig, weil sie nicht aussagen, was darin enthalten ist;
besser wären Namen wie "eingabe" für "zahl_a" und z.B. "teiler" für "zahl_b"

- Das if-Konstrukt ließe sich mit dem ternären Operator vereinfachen; So kann man sich auch die wiederholte Ausgabe eines festen Strings sparen; siehe: perlop#Conditional_Operator

Code (perl): (dl )
1
2
3
perl "Das Ergebnis für $eingabe ist eine ",
  ( $eingabe % $teiler == 0 ) ? 'ganze ' : '',
  "Zahl.\n";
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 JavaScript in Perl übersetzen