#!/usr/bin/perl

# Colours
$BLK='[1;30m';
$RED='[1;31m';
$GRN='[1;32m';
$YEL='[1;33m';
$BLU='[1;34m';
$MAG='[1;35m';
$CYN='[1;36m';
$WHI='[1;37m';
$DRED='[0;31m';
$DGRN='[0;32m';
$DYEL='[0;33m';
$DBLU='[0;34m';
$DMAG='[0;35m';
$DCYN='[0;36m';
$DWHI='[0;37m';
$RES='[0m';

sub resalta
{
		my ($ret);
		$pattern = shift;
		$color = shift;
		($first, $rest) = split /$pattern/;
		$ret = $first;
		$ret .= $color.$pattern.$RES;
		$ret .= $rest;

		return $ret;

}


if ($#ARGV<0) 
{
	print "ERROR: Necesito al menos un patrón que sobresaltar\n";
	print "Uso: $0 patron [patron2] [patron3] [patron4]\n";
	exit;
}

if ($#ARGV>3)
{
	print "ERROR: no se admiten más de cuatro patrones";
	exit;
}


while (<STDIN>)
{
	if (/$ARGV[0]/)
	{
		$_ = resalta ($ARGV[0], $RED, $_);
	}
	if ($ARGV[1] && /$ARGV[1]/)
	{
		$_ = resalta ($ARGV[1], $GRN, $_);
	}
	if ($ARGV[2] && /$ARGV[2]/)
	{
		$_ = resalta ($ARGV[2], $YEL, $_);
	}
	if ($ARGV[3] && /$ARGV[3]/)
	{
		$_ = resalta ($ARGV[3], $BLU, $_);
	}

	print "$_\n";
}

