For future reference (as you already have the answer from roboticus), here's a basic debugging technique which can open your eyes to the effects that unexpected data can have on your code: Display what you have, not what you think you have.
Example: Your approach to displaying the information:
print "Preforming sha1 on $file"; system( "sha1sum $file > data" );
Produces:
Preforming sha1 on test1.dat
This is fine for human user display, but for programmer debugging display, you've left yourself open to a number of "dirty screen tricks". Instead:
my $systemCommand = "sha1sum $file > data"; print "\$systemCommand = [$systemCommand]\n"; system( $systemCommand );
Produces:
$systemCommand = [sha1sum test.dat > data]
Notice how the newline jumps out at you when displayed this way.
I would be remiss to not note that there are two modules folks love to use which might also reveal these problems and more -- Data::Dumpand Data::Dumper. I've seen the effectiveness at these modules helping Monks zero in on a user's issues as if they were painted with red Xs. I highly recommend their use whenever you want to peek at your data in more depth.
In reply to Re: What is causing sha1 system call to fail to redirect?
by marinersk
in thread What is causing sha1 system call to fail to redirect?
by Puregnome45
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |