http://www.perlmonks.org?node_id=82451


in reply to Perl Golf Proposal

Okay, here's my very cheesy entry. It actually doesn't follow the rules, but it's the best I could do ;) I at least followed the intent (on finding missing files).

You pass missing a list of files (which must be presorted :) and it will return all the missing ones. No other options are available, but in the case of a directory of files, it works.

sub missing { for$x(($_[0]=~/(.+)\..+/)[0]..($_[$#_]=~/(.+)\.(.+)/)[0]) {push@x,"$x.$2" unless grep$x eq(/(.+)\..+/)[0],@_};@x; } print missing qw (bar001.jpg bar002.jpg bar010.jpg);
That's 111 characters. It's sloppy, it's very confined and it's not compliant. But shoot, I couldn't do it correctly. I should add, however, that mine version doesn't require the filenames to start with "bar" or end with ".jpg". They can be anything. The missing function properly handles most things.