ever had an important multi-person discussion on MSN Messenger that you wanted to keep a log of? How frustrating is to read in between the lines afterwards.

This is a simple snippet that takes a saved msn log file and outputs a nice formatted HTML. Useful for conversations with more than two persons.

--Chady
#!perl -w use strict; use vars qw/%names $file @lines $i $turn @colors/; $file = shift || &usage; @colors = qw/blue red green violet orange/; open IN, "<", $file or die "Cannot read file '$file' : $!\n"; chomp(@lines = <IN>); close IN; open OUT, ">", "$file.html" or die "hmm... $file.html can't seem to be + written : $!\n"; print OUT qq|<html><dl>\n|; foreach (@lines) { if (/^(.*?) says:$/) { $names{$1} = $i++ unless defined $names{$1}; $turn = $names{$1}; print OUT qq|<dt>&lt;<strong><font color="$colors[$turn]">$1</ +font></strong>&gt; |; } else { print OUT qq|<font color="$colors[$turn]">$_</font></dt>\n|; } } print OUT qq[</dl></html>]; close OUT; sub usage { print qq[Usage: msn2html <file>\n\twhere <file> is the file you wa +nt to process\n\n]; exit 0; }

In reply to msn2html by Chady

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.