# pass in a file name, a file handle or nothing # returns a unique string that changes when the file changes sub FileMeta { if (my $fh = shift) { my ($dev, $inode, $size, $mtime) = (stat($fh))[0,1,7,9]; return "$size:$dev;$inode:$mtime"; } else { my ($dev, $inode, $size, $mtime) = (stat(_))[0,1,7,9]; return "$size:$dev;$inode:$mtime"; } }