#!/usr/bin/perl # # Give a human-easy-to-read format to xchat2's logs, such as: # # --> jote (~jote@some.place.com) has joined #gnome-hispano # <-- jote has quit (Leaving.) # --> You are now talking on #gnome-hispano # bar: ping # foo, pong # blah, blah, blah # :) # --- Notify: toe is online (irc.server.com). # blah, blah, blah # ... # $title = "Charlas de GNOME Hispano"; $speaker_name = "Alberto Ruiz"; $speaker_nick = "aruiz"; $talk_title = "Vala, Lenguaje de programación"; $moderator_name = "Sergio Infante"; $moderator_nick = "neosergio"; $date = "Domingo 09 de agosto de 2009, 17:00 horas UTC"; $venue = "irc.gnome.org #gnome-hispano"; print qq{ $title

$title


$talk_title

Relator: $speaker_name ($speaker_nick)
Moderador: $moderator_name ($moderator_nick)
$date
$venue

}; $prev = ""; $text = ""; $message = ""; $to_print = 0; $class = "nick"; while ($line = <>) { next if ($line !~ /^/>/g; ($nick, $message) = split (/ /,$line, 2); $nick =~ s/<(.*)>/$1/g; # Break long lines if (length($message) > 100) { $message =~ s/(.{1,100}[ ,])/$1\\\n/g; } # Handle URL's $message =~ s/.*((https?):\/\/([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+([a-zA-Z]{2,9})(:\d{1,4})?([-\w\/#~:.?+=&%@~]*)).*/$1<\/a>/g; if ($nick ne $prev) { if ($to_print) { $class = ($prev =~ /$speaker_nick/) ? "speaker" : "message"; print qq{\n}; $to_print = 0; } $prev = $nick; $text = $message; $to_print = 1; } else { $text .= $message; } } print qq{
$prev
$text

};