perl -e

2007-07-6 | 2:06 am | Kein Kommentar »

Perleinzeiler
perl -p -i.bak -e ´s/a/b/g´ datei

perl DBI [mysql]

2001-01-4 | 3:02 pm | Kein Kommentar »

mysql connect/disconnect

use DBI;
$dbh = DBI->connect(„DBI:mysql:database=$database:$host“,$username,$password)
or die „Fehler beim db connect: $!“;
$dbh->disconnect();

do

$mysql_query = „DELETE FROM adressen WHERE ID=202“;
$rv = $dbh->do($mysql_query);
Rückgabewert $rv Anzahl der veränderten Zeilen

prepare-execute

$mysql_query = „SELECT count(*) FROM uniques WHERE name=?“;
$sth = $dbh->prepare($mysql_query);
$rv = $sth->execute(„Bohne“);
Rückgabewert $rv wahr bei Erfolg: if ($rv) {// erfolgreich}

Zeilenweises Auslesen mit fetchrow_array

while (@row = $sth->fetchrow_array) {
print „name: $row[0] \n“;
print „owner: $row[1] \n“;
}

Zeilenweises Auslesen als Hash mit fetchrow_hashref

while ($hash = $sth->fetchrow_hashref) {
$myName = $hash->{„name“};
$myOwner = $hash->{„owner“};
}

print „Hallole\n“;
$x = „lo“;
print „Hal$xle\n“;
print „Hal${x}le\n“;
print „Hal“.$x.“le\n“;

$text = „bla text bla“;
$text .= „weiter mehr text“;
$text .= „noch eine dritte zeile“;

$text = „bla text bla“
.“weiter mehr text“
.“noch eine dritte zeile“;

a@b.shopping
a.b@c.shopping
a.b-c@d.shopping
a-b@shopping-shopping.shopping

RegEx zum Überprüfen der Gültigkeit von eMail-Adressen

/^[a-z0-9_.\-]+@
([a-z0-9_.\-]+\.)+
[a-z]{2,9}/i

/^[a-z0-9]+([_.\-][a-z0-9]+)*@
([a-z0-9_.\-]+\.)+
[a-z]{2,9}/i

regulaere Ausdruecke

2001-01-2 | 2:54 pm | Kein Kommentar »

if ($irgendwas =~/…/){…}

+ = {1,}
? = {0,1}
* = {0,}
mindestens eins
hoechtens eins
bel. viele, auch keins
^
$
Suche am Anfang des Audrucks
Suche am Ende des Audrucks
$irgendwas = „christine“;
if ($irgendwas =~/ris/)
if ($irgendwas =~/ine$/)
if ($irgendwas =~/^ris/)
Auswertung des Ausdrucks ergibt:
true, d.h. wird gefunden
true, d.h. wird gefunden
false, d.h. wird nicht gefunden
.
/.*/
irgendein beliebiges Zeichen
beliebig oft ein bel. Zeichen (auch null-mal)
/^.*$/
/^$/
/^\s*$/
irgendetwas, auch Leerzeile
Leerzeile
Leerzeile
\d = [0-9]
\d\d = \d{2}
\d{0,2}
eine Ziffer
zwei Ziffern hintereinander
hoechstens zwei, aber auch keine Ziffer
\s
\S
whitespaces
nicht-whitespaces
[aeiou]+
[^aeiou]+
Vokale
Nicht-Vokale
[a-kw-z]
[0-9]
Bereiche
[„_,:]
[\.\-\\]
ohne Sonderbedeutung
Escape bei Zeichen mit Sonderbedeutung
$irgendwas = „Hallo„;
if ($irgendwas =~/< .*?>/) # findet <bla>
if ($irgendwas =~/< [^>]+>/) # findet ebenfalls <bla>

More …

Array @liste

$liste[-1] das letzte Element der Liste
$#liste maximaler Index / Anzahl der Felder -1
$anzahl = @liste Anzahl der Felder

push, unshift, shift, pop

push(@liste, „xyz“) „xyz“ wird hinten angehaengt
unshift(@liste,“abc“) „abc“ wird vorne eingefuegt
$x = shift(@liste) vorderstes Element („abc“) wird entfernt und in die Variable $x geschrieben
$x = pop(@liste) hinterstes Element („xyz“) wird entfernt und in die Variable $x geschrieben


@osterei
$ei->{„name“} = „giftgrünes Osterei“;
$ei->{„img“} = „http://www.remote-island.org/142291/ggO.gif“;
push(@osterei,$ei);
while (scalar(@osterei)) {
$ei = shift(@osterei);
… }

More …