#!/usr/bin/perl -w # ns2opera # # Netscape to Opera Bookmark Converter # # Thomas Blon # Dec 2002 # Urspring, Germany use strict; # Requires declaration of variables before using them. #-----Variables------ my $name; my $url; my $created; my $visited; my $nick; open(INFILE, "bookmarks.html"); open(OUTFILE, ">opera6.adr"); print OUTFILE "Opera Hotlist version 2.0\n\n"; while() { if (/
/) { if(/

(.*)<\/H3>$/; # Suche: ">(0 oder mehr irgenwas)

($created) = /ADD_DATE="(\d*)/; if (!$created) {$created = "0"}; ($visited) = /LAST_VISIT="(\d*)/; if (!$visited) {$visited = "0"}; print OUTFILE "#FOLDER\n"; print OUTFILE " NAME=$name\n"; print OUTFILE " CREATED=$created\n"; print OUTFILE " VISITED=$visited\n"; print OUTFILE " ORDER=0\n"; if (/PERSONAL_TOOLBAR_FOLDER="true"/) { print OUTFILE " LINKBAR FOLDER=YES\n"; print OUTFILE " EXPANDED=YES\n"; } print OUTFILE "\n"; } else { ($name) = /">(.*)<\/A>$/; # Suche: ">(0 oder mehr irgenwas) ($url) = /HREF="(.*?)" /;# ? macht .* "nicht gierig", d.h. .* # stoppt vor dem ersten, nicht dem letzten " ($created) = /ADD_DATE="(\d*)/; if (!$created) {$created = "0"}; ($visited) = /LAST_VISIT="(\d*)/; if (!$visited) {$visited = "0"}; ($nick) = /SHORTCUTURL="(.*?)" /; print OUTFILE "#URL\n"; print OUTFILE " NAME=$name\n"; print OUTFILE " URL=$url\n"; print OUTFILE " CREATED=$created\n"; print OUTFILE " VISITED=$visited\n"; print OUTFILE " ORDER=0\n"; if ($nick) {print OUTFILE " NICKNAME=$nick\n"} print OUTFILE "\n"; } } if (/<\/DL>/) { print OUTFILE "-\n\n"; } } close OUTFILE; close INFILE;