Thread Wer kann mir bitte das Skript erklären? (4 answers)
Opened by philo at 2005-10-25 14:51

murphy
 2005-10-25 15:26
#59262 #59262
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
Hier mal eine "Uebersetzung" des Quelltextbeginns, falls das zum Verstaendnis hilft:
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
25
26
27
28
29
30
$/ = "\x1f\x0a";    # setze das Eingabedatensatztrennzeichen
# auf die Hexadezimalbytesequenz 1f 0a

%records = (); # erzeuge Hash %records mit globalem Scope,
# initialisiere die Variable auf den leeren Hash
%termtoid = ();

my $recid = ""; # erzeuge Skalar $recid mit lexikalischem Scope,
# initialisiere die Variable auf den leeren String

while(<>) { # solange weitere Daten vorhanden sind, lies von STDIN
# oder der ersten automatisch geoeffneten Datei auf der
# Kommandozeile. Die eingelesenen Bloecke, die durch $/
# terminiert sind, werden jeweils in $_ gespeichert
chomp; # entferne $/ am Ende des gelesenen Datensatzes
s/\n([[:upper:][:digit:]])/ $1/g; # ersetze alle Vorkommen von einem
# Zeilenumbruch, gefolgt von
# (einem einzelnen Grossbuchstaben oder
# einer Ziffer) in $_ durch $(den
# Grossbuchstaben oder die Ziffer)
s/\n//g; # entferne alle Vorkommen von Zeilenumbruechen in $_

s/% /%/g; # ersetze alle Vorkommen von "% " in $_ durch "%"

if (/(..)=(.*)/) { # falls $_ die Form (zwei beliebige Zeichen)=(null
# oder mehr beliebige Zeichen) hat:
my $key = $1; # erzeuge Skalar $key mit lexikalischem Scope,
# initialisiere die Variable auf die $(Sequenz
# zweier beliebiger Zeichen) aus der Bedingungsabfrage
[...]


Es empfiehlt sich aber auf jeden Fall, zum tieferen Verstaendnis, die bereits genannten Teile der Perldokumentation zu lesen.

(edit: logischer tippfehler korrigiert)\n\n

<!--EDIT|murphy|1130239673-->
When C++ is your hammer, every problem looks like your thumb.

View full thread Wer kann mir bitte das Skript erklären?