anfänger: mit .. zu 1.3, 2.3,2.4 Fehler im Skript?

Hallo

ich lerne gerade Perl und in dem mir vorliegenden Skript
steht folgendes dring:

@c = (1.3 .. 6.1);
#das gleich wie @c = (1.3,2.3,3.3,4.3,5.3);

wenn ich das bei mir eingebe und ausführe (Version 5.6.1) kommt
das aber gar nicht raus, sondern (1,2,3,4,5,6).

Mach ich was falsch? Ist in dem Skript was falsch?
Gibt es überhaupt die Möglichkeit mit dem ..-Operator so ein
array (1.3,2.3..) zu erstellen?

gruss
  :)

  1. use Mosche;

    ich lerne gerade Perl und in dem mir vorliegenden Skript
    steht folgendes dring:

    @c = (1.3 .. 6.1);
    #das gleich wie @c = (1.3,2.3,3.3,4.3,5.3);

    wenn ich das bei mir eingebe und ausführe (Version 5.6.1) kommt
    das aber gar nicht raus, sondern (1,2,3,4,5,6).

    Das kommt bei mir auch raus (Perl 5.8.0).

    Mach ich was falsch? Ist in dem Skript was falsch?
    Gibt es überhaupt die Möglichkeit mit dem ..-Operator so ein
    array (1.3,2.3..) zu erstellen?

    Ich denke, dass es so nicht geht. Der .. Operator arbeitet intern mit Integer Zahlen (ganzzahlen), deswegen werden keine Kommazahlen rauskommen (habe, um das zu verifizieren, leider nichts in perldoc perlop finden können). Einfacher Trick:
    my @c = map { $_*=0.3  } (1 .. 6);

    Kurze Schreibweise für

    my @d = (1..6);
    my @c;
    foreach (@d) {
     push(@c, $_+0.3);
    }

    use Tschoe qw(Matti);