mit .. zu 1.3, 2.3,2.4 Fehler im Skript?
anfänger
- perl
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
:)
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);
my @d = (1..6);
my @c;
foreach (@d) {
push(@c, $_+0.3);
}
use Tschoe qw(Matti);