16.04.05

Perl: Arrylänge ermitteln

#!/usr/bin/perl use strict; my @daten = ("test", "test", 10, 1.33); print "Anzahl der Skalare in dem Array: " . scalar(@daten) . "\n"; # ergibt 4 print "Index des heochsten Feldes: " . $#daten . "\n"; # ergibt 3

Posted by xut at 15:51

Perl: Array Konfusion

#!/usr/bin/perl use strict; my @daten4 = (); my $i = 1; $daten4[$i] = $i++; print join(";", @daten4) . "\n"; @daten4 = (); $i = 1; $daten4[$i] = ++$i; print join(";", @daten4) . "\n"; @daten4 = (); my $i = 1; $daten4[$i++] = $i; print join(";", @daten4) . "\n"; @daten4 = (); $i = 1; $daten4[++$i] = $i; print join(";", @daten4) . "\n"; @daten4 = (); $i = 1; $daten4[$i] = $i += 1; print join(";", @daten4) . "\n"; @daten4 = (); $i = 1; $daten4[$i] = $i = $i + 1; print join(";", @daten4) . "\n"; ... um Erklärung der Ausgabe wird gebene: ;;1 ;;2 ;2 ;;2 ;;2 ;;2

Posted by xut at 15:41

Array Beispiel

#!/usr/bin/perl use strict; # arrays auf einen schlag definieren my @daten1 = ("hello world", 20, 1.335, "test"); my @daten2 = (1..10); my @daten3 = (); my @daten4; # auf arrayfelder zugreifen print $daten4[0] . "\n"; $daten4[10]++;

Posted by xut at 15:40

Beispiele für sprint/printf

#!/usr/bin/perl use strict; my $string = "test"; my $int = 10; my $float = 1.23; printf("%s hello world\n", $string); printf("%20s hello world\n", $string); # 20 zeichen rechtsbündig printf("%-20s hello world\n", $string); # 20 zeichen linksbündig printf("%d\n", $int); printf("%10d\n", $int); # 10 zeichen rechtsbünding führende Blanks printf("%010d\n", $int); # 10 zeichen linksbündig führend Nullen printf("%f\n", $float); printf("%.1f\n", $float); # eine Nachkommastelle printf("%10.1f\n", $float); # Zehn Stellen, davon zwei für Dezimalzeichen # und Nachkommastelle # Ausgabe nicht an STDOUT sondern in einen String my $newstring = sprintf("%s %i %.2f", $string, $int, $float);

Posted by xut at 15:11

Perl: Performance beim Strings aneinanderfügen

jan@newtux:~/info-perl> time perl -e '$x=""; for(1..100000) {$x=$x."x";}' real 0m5.553s user 0m5.510s sys 0m0.002s jan@newtux:~/info-perl> time perl -e '$x=""; for(1..100000) {$x.="x";}' real 0m0.149s user 0m0.126s sys 0m0.001s

Posted by xut at 14:49

Perl: Strings aneinanderfügen

#!/usr/bin/perl use strict; # strings aneinander hängen my $string1 = "test1"; my $string2 = "test2"; # strings aneinander fügen my $stringnew = $string1 . $string2 . "\n"; # per join my $newstring2 = join(";", $string1, $string2, $stringnew); # per addition my $affen = "5 affen"; my $schlange = "1 schlange"; my $tiere = $affen + $schlange; # ergibt "6" # per multiplikation my $sep = 10 x "-"; # ergibt "----------"

Posted by xut at 14:41

Perl Strings: Unterschied zwischen " und '

#!/usr/bin/perl use strict; # ein bischen was zu strings... # unterschied zwischen " und ': # in "..." strings werden $x und \n quasi ersetzt # in '...' strings wird genau das genommen, was da steht my $x = 2; my $string1 = "hello world, just remeber: x = $x \n"; my $string2 = 'hello world, just remeber: x = $x\n'; print $string1; print $string2;

Posted by xut at 14:31

Primzahlen verkürzt

#!/usr/bin/perl use strict; my $start = 3; my $end = 100; for($start..$end) { print "Pruefe $_ ..."; my $prim = 1; for(my $j = 2; $j <= sqrt; $j++) { unless($_ % $j) { print "NICHT PRIM (teilbar durch $j)\n"; $prim = 0; last; } } print "IST PRIM\n" if($prim); }

Posted by xut at 14:18

Primzahlen suchen

#!/usr/bin/perl use strict; my $start; $start = 3; my $end = 100; for(my $i = $start ; $i <= $end ; $i++) { print "Pruefe $i ..."; my $testende = int(sqrt($i)); my $prim = 1; for(my $j = 2; $j <= $testende; $j++) { if($i % $j == 0) { print "NICHT PRIM (teilbar durch $j)\n"; $prim = 0; last; } } if($prim == 1) { print "IST PRIM\n"; } }

Posted by xut at 11:41

Beispiel für ein Skalar

#!/usr/bin/perl # strikte Variablendeklaration verwenden use strict; # eigentliche Ausgabe my $text = "Hier ist die Informatik-AG\n"; print($text);

Posted by xut at 11:06

Erstes klassisches Beispiel

#!/usr/bin/perl print("Hier ist die Informatik-AG\n"); ... ohne Worte. ;-)

Posted by xut at 10:57

Heutige AG

Thema der heutigen AG ist eine Einführung in Perl. Zunächst ein paar abschreckende Beispiele... ;-) Im Folgenden werde ich unsere Beispiele bloggen.

Posted by xut at 10:49