#! /usr/bin/perl

use warnings;
use strict;

use IO::File;

use User;

my ($temp_file,$quote_file) = @ARGV;
$temp_file  ||= User->Home."/lib/signature_stuff/sigtemplate.txt";
$quote_file ||= User->Home."/lib/signature_stuff/quote.txt";

my $sigfile      = new IO::File User->Home."/.signature", 'w' or die "Unable to open ~/.signature for writing; $!";
my $templatefile = new IO::File $temp_file, 'r' or die "Unable to open $temp_file $!";
my $quotesfile   = new IO::File $quote_file,'r' or die "Unable to open $quote_file $!";

my $template = '';

while (<$templatefile>) {
     $template.=$_;
}

undef $templatefile;

my $quotes = '';

while (<$quotesfile>) {
     $quotes.=$_;
}

undef $quotesfile;

my @quotes = split /\n*\%\n*/s, $quotes;
undef $quotes;

my $quote = $quotes[rand($#quotes+1)];

$template =~ s/\[\%\s*quote\s*\%\]/$quote/;

print {$sigfile} $template;

undef $sigfile;
