Thread mit Perl starten auf OpenSuse 11.3 - wie scripte ausführen!? (6 answers)
Opened by lin at 2010-09-26 13:28

renee
 2010-09-26 13:39
#141519 #141519
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
2010-09-26T11:28:32 lin
hallo Communty - bin neu hier -

habe vor wenigen Monaten mit Linux angefangen - und jetzt will /sollte ich eine PERL-Aufgabe lösen.


Willkommen in der Perl-Welt!!

2010-09-26T11:28:32 lin
Also - ich will mit Perl starten auf OpenSuse 11.3

Hab schon mal mit dem Paketmanager einige Module geadded

Frage wie starte ich denn ein Perl-Script.


Du schreibst ein Perl-Programm speicherst es zum Beispiel als parse_html.pl und rufst es dann mit perl parse_html.pl auf.


2010-09-26T11:28:32 lin
Die Aufgabe: ich will ein HTML-Parser-Job ausführen. Da muss ich einige hundert HTML-Files parsen und dann einen Text /immer im selben Format herausfiltern.


Wie mach ich das denn grundsätzlich? Ich meine also:

a. Die HTML-Files (immer im selben Format wie gesagt - sid in einem Ordner drinne. Wo speichere ich die denn?

Wie rufe ich die denn dann auf!?


Wo Du die HTML-Dateien speicherst ist vollkommen egal. Wieso willst Du die HTML-Dateien aufrufen?

Du musst also ein Perl-Skript schreiben, das jede einzelne HTML-Datei parst und die Ausgabe irgendwohin schreibt. Dann musst Du das Programm wie oben gezeigt aufrufen.

Das könnte ungefähr so aussehen:

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

# strict und warnings sollten bei jedem Programm Pflicht sein
use strict;
use warnings;

# Bibliothek zum einfachen Finden von Dateien
# muss ggf. noch installiert werden
use File::Find::Rule;

# Bibliothek zum Parsen von HTML-Dateien 
use HTML::TreeBuilder::LibXML;

# Verzeichnis in dem die HTML-Dateien gespeichert sind
my $html_dir = '/path/to/dir/with/html.files';

# hole alle .html-Dateien aus dem Verzeichnis
my @html_files = File::Find::Rule->file->name( '*.html' )->in( $html_dir );

for my $file ( @html_files ) {
    # parse die Datei
    # speichere den Text aus dem HTML in einer Datei
}


Wie Du in eine Datei speicherst? Lesetipp: perldoc -f open

2010-09-26T11:28:32 lin
HTML::TreeBuilder::LibXML

Das Kommando auf der console

zypper in perl-HTML-Tree

gab mir zurück:

perl-HTML-Tree is allready installed

Aber ich glaube dass Das nicht dem HTML::TreeBuilder::LibXML entspricht.


Richtig. Ich kenne zypper zwar nicht, aber ich würde mal so etwas probieren:

zypper in perl-HTML-TreeBuilder-LibXML
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/

View full thread mit Perl starten auf OpenSuse 11.3 - wie scripte ausführen!?