findrule [path...] [expression]
findrule mostly borrows the interface from GNU find(1) to provide a command-line interface onto the File::Find::Rule heirarchy of modules.
The syntax for expressions is the rule name, preceded by a dash, followed by an optional argument. If the argument is an opening parenthesis it is taken as a list of arguments, terminated by a closing parenthesis.
find -file -name ( foo bar )
bar, below the current directory.
find -file -name foo -bar
foo, that have pubs (for this is what our ficticious
bar clause specifies), below the current directory.
find -file -name ( -bar )
-bar, below the current directory. In this case if we'd have omitted the parenthesis it would have parsed as a call to name with no arguments, followed by a call to -bar.
I'm very slack. Please consult the File::Find::Rule manpage for now, and prepend - to the commands that you want.
Extra bonus switches
findrule automatically loads all of your installed File::Find::Rule::* extension modules, so check the documentation to see what those would be.
Richard Clamp <email@example.com> from a suggestion by Tatsuhiko Miyagawa
Copyright (C) 2002 Richard Clamp. All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.