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 3Posted 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 ;;2Posted 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.001sPosted 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