I don't have much time at the moment to review the code specifically, but hopefully what I've done may help a bit.
I think that you should be passing your args into the sub, instead of using global vars. This causes much grief, beyond the problems it would cause if you wanted to move the sub to a library file. Also, prototypes within Perl functions don't do what most think they do. I can't think of a single link that describes this, but the archives, and Google explains it well
I quickly put the following working code snip together to hopefully give you some ideas. It was hard to tell what you meant by "it wouldn't compare them" without knowing what you expected as a result:
#!/usr/bin/perl use strict; use warnings; my $mtime = ( stat ( "/home/steve/devel/ISP/lib/ISP/User.pm" ))[9]; my $other_mtime = 999999999; my $cmp_result = compare ( $mtime, $other_mtime ); print "$cmp_result\n"; sub compare { my ( $mtime, $other_mtime, ) = @_; my $cmp_result; if ( $mtime > $other_mtime ) { $cmp_result = "mtime_is_higher"; } else { $cmp_result = "mtime_is_lower"; } return $cmp_result; }
Hope it helps a bit
Steve
In reply to Re: Compare script
by stevieb
in thread Compare script
by TheRedcoat
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |