Schrift
[thread]3015[/thread]

Suchmaschine: PHP vs Perl (Seite 2)

Leser: 1


<< |< 1 2 3 4 >| >> 32 Einträge, 4 Seiten
Strat
 2006-05-04 20:40
#28489 #28489
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
@Danie: seltsam; ich fand die Perl-Syntax zu Beginn schrecklich, und konnte Witze wie "Perl sieht vor und nach einer RSA-Verschluesselung fast gleich aus" anhand der ganzen verwendeten Sonderzeichen gut nachvollziehen (kam von Pascal/C)

Erst spaeter habe ich die (eigentlich ziemlich klare) Logik dahinter erkannt, und finde mittlerweile, dass man in Perl klareren Quellcode schreiben kann als in allen anderen mir bekannten sprachen, vor allem, weil man sich - zumindest meistens - sehr gut aussuchen kann, auf welcher Ebene man mit irgendwelchen Daten arbeitet (z.B. Zeichen, Zeichenkette, Absatz, Dateien, ...)

Vorteil von PHP: man kann es in recht kurzer Zeit komplett lernen (vorausgesetzt, man hat ein gutes Gedaechtnis).

Bei Perl dauert's viel laenger, bis man alle Sprachelemente kennt und beherrscht; aber meistens tut es einem nicht weh, wenn man was nicht kennt; es wird nur vielleicht ein wenig umstaendlicher und braucht mehr Entwicklungszeit, aber man kommt ans Ziel. In Schulungen fuer fortgeschrittene Perl-Programmierer habe ich oft den Effekt, dass Leute neue Sprachelemente bisher nicht vermisst haben, sie aber ab sofort begierig darauf stuerzen, und fortan viel effizienter entwickeln.

In Perl gibt's ein recht nettes Motto: TIMTOWDI (There Is More Than One Way To Do It).

Noch ein Grund, Perl zu lernen: schau dir mal das Perl-Community.de-Jobforum an; da werden haenderingend gute Perl-Programmierer gesucht.\n\n

<!--EDIT|Strat|1146760932-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Danie
 2006-05-04 20:50
#28490 #28490
User since
2006-05-04
9 Artikel
BenutzerIn
[Homepage] [default_avatar]
[quote=Strat,04.05.2006, 18:40]@Danie: seltsam; ich fand die Perl-Syntax zu Beginn schrecklich, und konnte Witze wie "Perl sieht vor und nach einer RSA-Verschluesselung fast gleich aus" anhand der ganzen verwendeten Sonderzeichen gut nachvollziehen (kam von Pascal/C)[/quote]
Ja das denke ich bisher auch. Verglichen mit C/C++/Objective-C sieht es gerne mal sehr wirr aus.
Aber vergleiche ich Perl/CGI-Scripts mit PHP-Scripts... Also nee, da doch echt lieber Perl :)
Strat
 2006-05-04 20:59
#28491 #28491
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
kurz gesagt: in perl steht immer das zeichen vorne dran, das dem datentyp entspricht, der zurueckgegeben wird, also

$ bei skalarem wert (string, zahl, referenz)
@ bei einem array (als ganzes oder unterliste)
% bei einem hash
& bei einer Subroutine (funktion oder prozedur)

z.B. ein Element einer Liste @array ist immer ein skalar, also $array[4] ist das 5. element (beginnt bei 0)

runde () klammern deuten immer auf eine liste hin oder eine gruppierung
eckige [] klammern auf ein array
geschwungene {} klammern auf einen hash oder einen anweisungsblock (je nachdem, ob sie nach einer variablen oder alleine stehen)

$var ist ein skalar (z.B. 20 oder "zeichenkette")
$var[2] ist ein element eines arrays mit namen @var
$var{key} ist der wert eines hashes mit namen %var, der zum schluessel 'key' gehoert.
&var($p1, $2) ist der aufruf einer subroutine mit namen var und die parameter $p1 und $p2 werden uebergeben.

komplett unleserlich sind meistens nur Regulaere Ausdruecke, aber auch da hat Perl (im gegensatz zu fast allen anderen sprachen) mittel, sie lesbar zu gestalten, z.B.
Code: (dl )
1
2
3
4
5
6
7
8
9
10
if( $string =~ /
[+-]? # optional + oder -
(\d+) # gefolgt von einer oder mehreren ziffern (moegichst vielen), speichern in $1
\. # gefolgt von einem punkt
(\d+) # gefolgt von mehreren ziffern (moeglichst vielen), speichern in $2
/x ) {

print "$string enthaelt eine Kommazahl: $1.$2\n";

} # if

oder fuer spaeter mal:
Code: (dl )
1
2
3
4
5
use Regexp::Common;

if( $string =~ / ( $RE{num}{real} ) /x ) {
print "string enthaelt eine Kommazahl: $1\n";
}
\n\n

<!--EDIT|Strat|1146762407-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
betterworld
 2006-05-04 21:29
#28492 #28492
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
Koennte diesen Thread bitte jemand nach Heilige Kriege verschieben?
Taulmarill
 2006-05-05 12:26
#28493 #28493
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
wenn es dir um eine engine für suchen geht (ich glaube damit hat dieser thread mal angefangen) dann schau dir mal CPAN:Plucene an.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
Strat
 2006-05-05 21:23
#28494 #28494
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=betterworld,04.05.2006, 19:29]Koennte diesen Thread bitte jemand nach Heilige Kriege verschieben?[/quote]
@betterworld: nein, nicht bevor ich weiss, wer gewonnen hat ;-)

BTW: wer kaempft hier eigentlich gegen wen?
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Danie
 2006-05-06 00:57
#28495 #28495
User since
2006-05-04
9 Artikel
BenutzerIn
[Homepage] [default_avatar]
Perl hat gewonnen!
Hab gestern mein erstes Perl-Cgi-Skript geschrieben und könnt sabbern...
Ich mein mit sowas wie start_hml() etc kann man sich so viel Zeit sparen... das ist so viel besser als PHP.
Ich lieb es jetzt schon :)

Danke für eure Hilfe!
Strat
 2006-05-06 02:41
#28496 #28496
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
bravo

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#! /usr/bin/perl
use warnings;
use strict;

use CGI;

# gibt fast alle fehler und alle warnungen im browser aus, das
# hilft beim entwickeln. wenn ein script in produktion genommen
# wird, dann besser die folgende Zeile auskommentieren
use CGI::Carp qw(fatalsToBrowser warningsToBrowser);

my $cgi = CGI->new(); # neues CGI-Objekt erzeugen

print $cgi->header('text/html'), $cgi->start_html('Testseite');

my %params = $cgi->Vars;

print $cgi->h1('CGI-Parameter');

foreach my $key (sort keys %params) {
print $cgi->p("$key => " . escapeHTML($params{$key}));
} # foreach

print $cgi->end_html();
\n\n

<!--EDIT|Strat|1146868956-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Danie
 2006-05-08 15:44
#28497 #28497
User since
2006-05-04
9 Artikel
BenutzerIn
[Homepage] [default_avatar]
So, Berufsschule ist vorbei, war nun wieder in der Arbeit und gleich ab in die Bibliothek. Alle guten CGI-Bücher sind verliehen *seufz*
Nur so alte Schinken von 1996 oder so mit schönen Win 3.1 Screenshots... Also das wollt ich mir nicht antun ^^
Arbeite jetzt das Tutorial von Ovid (http://users.easystreet.com/ovid) durch, scheint ganz gut zu sein. Also falls Fragen aufkommen, werde ich mich melden. Danke an alle
lichtkind
 2006-05-08 15:59
#28498 #28498
User since
2004-03-22
5681 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
schade wir bereiten hier auch einen sehr guten perl5 kurs vor der allerding grad begonnen wurde. falls du englisch kannst, geh nahc lern.perl.org dort sidn einige gute perl bücher komplett online.
sollte auch in unsere linkliste.
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
<< |< 1 2 3 4 >| >> 32 Einträge, 4 Seiten



View all threads created 2006-05-04 18:10.