#!/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"; }