如何判断Perl中的两个图像文件是否相同?

Mor*_*nar 1 perl checksum image http-headers

我有一个Perl脚本,我为自己的个人用途编写,定期从网站上获取图像文件.然后它将这些图像保存到文件夹中.从fetch到fetch,这些图像文件通常是相同的,如果我可以绕过它,我不想保存重复项.

我的问题:比较/检查它们是否相同的最佳方法是什么?

到目前为止,我唯一真正的想法是打开现有文件句柄,md5,md5来自fetch的$ response->内容,然后比较它们.那会有用吗?

有没有更好的办法?

编辑:

哇,已经有很多很棒的建议了.如果我告诉你这个脚本每天都通过cron运行会有帮助吗?即保证每天都在同一时间运行?另外:我正在查看其中一些最后修改的标题,并且它们看起来不是100%准确,即有一些在一周前的最后修改时我知道图像是最近的比起那个来说.我假设那是因为从那时起服务器上的图像文件本身没有被修改......这对我没什么帮助...

moo*_*dow 5

  • 不要每次都打开并散列存储的图像 - 在存储图像时将哈希存储在图像旁边.比较尺寸也是如此.

  • 不要立即发出GET请求,首先执行HEAD并将大小,上次修改日期和任何Etags与上次获得的内容进行比较.