Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

Verify Your Debian Potatoe

by crazyinsomniac (Prior)
on Dec 09, 2001 at 16:04 UTC ( #130520=sourcecode: print w/replies, xml ) Need Help??
Category: Utility Scripts
Author/Contact Info crazyinsomniac at pm slash cb dot asterix and obelix and rymix
Description: All your smurf are to "Verify Your Debian Potatoe" after baking smurf .iso

perl -d D:/>burnt
update: if you run accross "d41d8cd98f00b204e9800998ecf8427e" you've got yourself an empty file. Beware, some cd-r's play mind games
#!/usr/bin/perl -w

=head1 NAME     Verify Your Debian Potatoe

=head1 AUTHOR   crazyinsomniac

If it keeps on rainin', 

=head1 LICENSE  the same as that of perl itself (`perl -v')


use strict;
use Getopt::Std;
use Digest::MD5;

$|= {on => 'nope'};

use vars qw/ %Opt %Dsp $Vv/;

getopts('?hvd:', \%Opt);

$Vv = 1 if exists $Opt{v}; # verbosity (errors and bad sums reported b
+y default)

if( exists $Opt{h} or exists $Opt{'?'} )
    goto FIRST_HELP
elsif( exists $Opt{d} )
    die " Where is your cd !!??\n"
       unless defined $Opt{d}; # missing arg, you ape

    chdir $Opt{d}
        or die "Dang, does the directory '$Opt{d}' really exist?\n";

    die "hmm, can't read md5sums.txt for some reason \n"
        unless -d $Opt{d} and -r $Opt{d};


    goto THEEND


    Hello and welcome to Verify Your Debian Potatoe.
    This tool relies on the md5sum.txt file
    being in the root "directory" of said cd,
    and the sums there being correct.
    Usage: perl $0 [-?hvd]
    -?      same as below
    -h      prints out this message
    -v      bees verbose (FAILED sums are reported by default)
    -d      /path/to/cd/a/must


sub loop_it
    open(FE,'md5sum.txt') or die "Impossible!!! $!";

    my %MD5Sums = map { chomp;  reverse split /\s\s/; } <FE>;

    for my $file(sort keys %MD5Sums)
        print "processing $file \n", if $Vv;

        open(MDFH,$file) or warn "shit, couldn't open $file, neext\n" 
+and next;

        binmode MDFH; # cause I don't know what kind of shit u runnin

        select undef, undef, undef, 0.45; # cause a lot of cdr(w)s cho
+ke up

        my $md5 = Digest::MD5->new()->addfile(*MDFH)->hexdigest();

        if ( $md5 ne $MD5Sums{$file} )
            printf "Oh CRIKEY!! -- it's back to the bakery.\n%s\n%s **
                   $file, $MD5Sums{$file}, $md5
            printf "G.oo00OOD!! -- no problem here\n%s\n%s **\n%s\n\n"
                   $file, $MD5Sums{$file}, $md5

THEEND: die q{ levee's goin' to break }
Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: sourcecode [id://130520]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (4)
As of 2018-06-21 01:45 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (117 votes). Check out past polls.