perl:start
Inhaltsverzeichnis
Perl
Perl ist eine verbreitete Script-Sprache.
Hello World
- helloworld.pl
#!/usr/bin/perl print "Hello World!\n";
Typen
Prefix | Typ | Beispiel |
---|---|---|
$ | Scalar | $string = 'Hello World'; $number = 42; |
@ | Array | @array = [1, 2, 3]; |
% | Hash/Liste | %hash = {'one' => 1, 'two' => 3, 'three' => 3}; |
Arbeiten mit Hashes
my %hash = ( 'one' => 1, 'two' => 2, 'three' => "Three" ); $hash{'two'} = 4; print $hash{'three'};
Hashes Of Hashes
Abfragen
if ($cond) { # Do something } else { # Do something else }
if ($cond) { # Do something } elsif ($other_cond) { # Do something different } else { # Do something else }
Abfragen mit RegEx
if ($cond =~ /[0-9]{2}/) { # Cond is an number with two digits }
Switch
Wichtig: Um Switch benutzen zu können, muss das entsprechende Modul eingebunden werden!
use Switch; switch ($foobar) { case "foo" { # Is equal to "foo" } case "bar" { # Is equal to "bar" } case "foobar" { # Is equal to "foobar" } else { # Default/Is something different } }
Operatoren
Vergleichsoperatoren
Deutsch | Englisch | Zahlen-Vergleich | String-Vergleich |
---|---|---|---|
Gleich | Equal | == | eq |
Ungleich | Not Equal | != | ne |
Kleiner | Less than | < | lt |
Größer | Greater than | > | gt |
Kleiner-Gleich | Less than or equal | <= | le |
Größer-Gleich | Greater than or equal | >= | ge |
Spezielle Operatoren
Der Operator ||=
ist eine Kombination aus dem logischen Oder-Operator ||
und dem Zuweisungsoperator =
.
my $v = 0; $v ||= 'abc' eq 'abc'; print $v, " (expected 1)\n"; # If "abc" is equal to "abc" the output is "1"
Quelle: Misc Perl Info: Perl Operators
Methoden
Hello World
Hello World-Script mit der Standard-Methode main
, die beim Ausführen des Scripts automatich aufgerufen wird.
#!/usr/bin/perl main: { print "Hello World\n"; }
Funktionen
Snippets
Prüfen ob eine Variable undefiniert ist
Um zu überprüfen, ob eine Variable undefiniert ist (häufige Warnmeldung beim Ausführen eines Scripts: Use of uninitialized value in …
), gibt es verschiedene Möglichkeiten:
# Method 1 if (!defined($foo)) { # Do something ... } # Method 2 (example with string) $foo = ($bar) ? $bar : '';
Länge eines Arrays bestimmen
my $count = scalar(@array);
String als Int parsen
$int = int("02");
Prüfen ob eine Datei oder ein Verzeichnis existiert
if (-e "example.txt") { # Check if a file or directory exists } if (-d "cgi-bin") { # Check if a directory exists and/or if it is a directory } if (-f "example.txt") { # Check if a file exists and/or if it is a file }
Daten roh ausgeben
Um Daten roh auszugeben, z.B. um alle Eigenschaften eines Objekts einzusehen, kann der Data::Dumper verwendet werden:
use Data::Dumper; print Dumper($foobar);
Links
perl/start.txt · Zuletzt geändert: 2015-04-11 11:20 von a.kamola