Thread Datei auf vorhanden String untersuchen (1 answers)
Opened by Gast at 2006-09-09 00:23

Gast Gast
 2006-09-09 00:23
#69600 #69600
Hi,

versuche gerade ein RSS auszuwerten und das Ergebnis in eine Datei zu schreiben.

Der Code funktioniert auch soweit und gibt in der Zeile
print "$title\n$item->{link}\n\n"; # Nur zum Test
auch den richtigen Wert aus.

Nur möchte ich natürlich keine doppelten Links haben die im RSS enthalten sind, aber irgendwie scheint das wohl nicht so zu funktioneren wie ich mir das vorstelle.

Irgendwie habe ich den Verdacht das meine Methode die Datei auf das vorhandensein der Werte überprüft nicht gerade glücklich gewählt ist.
Eigentlich dachte ich das ich den Eintrag mit = nur Auswerten brauche aber dem ist wohl nicht so.

Vielleicht nur ein Anfängerfehler. Zumindest kommen keine Warnings.


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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/usr/bin/perl

use XML::RSSLite;
use LWP::Simple;
use strict;
use warnings;

# list of keywords we want
my @keywords = qw(Testlink 4400);

# get the RSS
my $URL = 'xttp://datalux/rss.xml';
my $content = get($URL);

# Parse the RSS
my %result;
parseRSS(\%result, \$content);

# build the regex from keywords
my $re = join "|", @keywords;
$re = qr/\b(?:$re)\b/i;

open TEMP, ">>list"
or die "Konnte Datei nicht öffnen ($!)";

# print report of matching items
foreach my $item (@{ $result{items} }) {
my $title = $item->{title};
$title =~ s{\s+}{ }; $title =~ s{^\s+}{ }; $title =~ s{\s+$}{ };

if ($title =~ /$re/) {
print "$title\n$item->{link}\n\n"; # Nur zum Test

open READ_TEMP, "<list"
or die "Konnte Datei READ_TEMP nicht öffnen $!";

foreach (<READ_TEMP>) {
if ($_ = "$title\n$item->{link}\n\n") {
#print "done\n"; # Nur zum Test
}
else {
print TEMP "$title\n$item->{link}\n\n";
print "written\n";
}
close READ_TEMP;
}
}
}
close TEMP;


Sowas steht dann pro Link in der Datei list wenn ich die if Abfrage abschalte.
<code>
Beispiel eines Links
xttp://datalux/download.php?info_hash=29c898f8484ee70ad7d67d3a786d8b293752c626

</code>

View full thread Datei auf vorhanden String untersuchen