Pastebin launched a little side project called VERYVIRAL.com, check it out ;-) Want more features on Pastebin? Sign Up, it's FREE!
Guest

Untitled

By: a guest on Feb 26th, 2012  |  syntax: Perl  |  size: 0.89 KB  |  views: 29  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1.     use strict;
  2.     use warnings;
  3.         use String::CRC32;
  4.         use Xchat qw( :all );
  5.      
  6.     register('CRC Check Script', '1.0', 'Check CRC');
  7.      
  8.         hook_print('DCC RECV Complete', \&check_crc);
  9.      
  10. sub check_crc {
  11.                 my $filename = $_[0][0];
  12.                 my $filepath = $_[0][1];
  13.                         if ($_[0][0] =~ /([a-fA-F0-9]{8})/){
  14.                                     open(SOMEFILE, $filepath);
  15.                                         binmode SOMEFILE;
  16.                                         my $crc = crc32(*SOMEFILE);
  17.                                         close(SOMEFILE);
  18.                                         my $hexval = uc(sprintf("%x", $crc));
  19.                                 if ($filename =~ $hexval)  {
  20.                                 delaycommand("CRC is \00303OK!");
  21.                                 } else {
  22.                                 delaycommand("CRC is \00306NOT OK! - " .$hexval);
  23.                                 }    
  24.         return EAT_NONE;
  25. }
  26. };
  27.  
  28. sub delaycommand {
  29.         my $command = $_[0];
  30.         hook_timer( 0,
  31.                 sub {
  32.                         prnt($command);
  33.                         return REMOVE;
  34.                 }
  35.         );
  36.         return EAT_NONE;
  37. }