#!/usr/bin/perl
use strict;
my @args = @ARGV;
my $found = 0;
my $content;
my $code;
my $filesys;
undef $/;
my $filename = $args[0];
my $prefix = substr($filename,0,length($filename)-4);
print "Opening $filename\n";
open(INPUT,$filename) or die "File not found. Syntax: fwsplit.pl filename\n";
binmode(INPUT);
my @parts = split("hsqs", );
close INPUT;
length(@parts) < 2 or die "More than one match\n";
my @parts2 = split("HDR0", $parts[0]);
length(@parts2) < 2 or die "More than one match\n";
open (OUT,">$prefix.prefix");
binmode(OUT);
print OUT $parts2[0];
close OUT;
my $parts3hdr = substr($parts2[1],0,24);
my $parts3kernel = substr($parts2[1],24);
open (OUT,">$prefix.hdr");
binmode(OUT);
print OUT "HDR0".$parts3hdr;
close OUT;
open (OUT,">$prefix.kernel");
binmode(OUT);
print OUT $parts3kernel;
close OUT;
open (OUT,">$prefix.sqsh");
binmode(OUT);
print OUT "hsqs".$parts[1];
close OUT;
open (PREIN,"<$prefix.prefix");
binmode(PREIN);
open (HDRIN,"<$prefix.hdr");
binmode(HDRIN);
open (KRNIN,"<$prefix.kernel");
binmode(KRNIN);
open (FILESYSIN,"<$prefix.sqsh");
binmode(FILESYSIN);
open (COMPAREFILE,">comparefile.bin");
binmode(COMPAREFILE);
print COMPAREFILE (...); #append filesys to code
close PREIN;
close HDRIN;
close KRNIN;
close FILESYSIN;
close COMPAREFILE;
my $diffresult = `diff $filename comparefile.bin`;
if ($diffresult eq ""){
print "\nEverything went fine\n";
}
else {
print "\nWarning, comparison failed:\n$diffresult";
}