You are on page 1of 2

#!

/usr/bin/perl
# Franc
use strict;
use Term::ANSIColor qw/:constants/;
use Digest::MD5 qw/md5_hex/;
if(!$ARGV[0]) { print "Type \"perl $0 -h\" for help.\n"; exit; }

if(@ARGV[0] eq '-m')
{
print "\n";
for(my $c = 1; $c <= $#ARGV; $c++)
{
my $h = md5_hex(@ARGV[$c]);
print BOLD, BLUE, "@ARGV[$c] \-\> $h\n", RESET;
}
print "\n";
exit;
}
elsif($ARGV[0] eq '-f')
{
print "\n";
for(my $cc = 1; $cc <= $#ARGV; $cc++)
{
if(-f $ARGV[$cc])
{
my $f_md5 = Digest::MD5->new;
open F, "@ARGV[$cc]";
$f_md5->addfile(*F);
my $d = $f_md5->hexdigest;
print BOLD, BLUE, "@ARGV[$cc]\t\-\> $d\n", RESET;
}
elsif(-d $ARGV[$cc])
{
print BOLD, RED, "@ARGV[$cc]\t\-\> Error: Input is
a directory.\n", RESET;
}
elsif(!(-e $ARGV[$cc]))
{
print BOLD, RED, "@ARGV[$cc]\t\-\> Error: Does not
exist.\n", RESET;
}
else
{
print BOLD, RED, "@ARGV[$cc]\t\-\> Unknown err
or.\n", RESET;
}
}
print "\n";
exit;
}
elsif($ARGV[0] eq '-h')
{
print "\nDescription: MD5 messages and files.\n\n";
print "-m,'string'\t-- MD5s text\n";
print "-f,\t\t-- MD5s files\n";
print "-h,\t\t-- Opens this dialog\n";
print "-v,\t\t-- Version of program\n";
print "\nExamples: \n";
print "perl $0 -m 'Hello world.'\n";
print "perl $0 -f helloworld.pl\n\n";
exit;
}
elsif($ARGV[0] eq '-v')
{
print "Version 01 running on \u$^O\E.\n";
}
else
{
print BOLD, RED, "Problem occured.\n", RESET;
exit;
}

You might also like