[Templates] Directory traversal module for ttree work-alike

[prev] [thread] [next] [Date index for 2004/10/02]

From: Dylan Hardison
Subject: [Templates] Directory traversal module for ttree work-alike
Date: 03:49 on 02 Oct 2004
------=_Part_150_28772045.1096688947935
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

I've got a mostly working module that can replace the directory
traversal parts of
ttree. It's not really specific to TT, and I'd really like a better
name than "File::Find::Tsite".

It has POD documentation.
Here's a good example:

#!/usr/bin/perl

use strict;
use warnings;
use File::Find::Tsite qw( :all );

my $finder = match(
    qr/\.svn/  => sub { IGNORE },
    qr/_build/ => sub { IGNORE },
    qr/\.pm$/  => sub {
        print "Perl module: $_\n";
        return DONE; # default is still executed.
    },
    default    => sub {
        if (-d $_) {
            print "$_/\n";
        } else {
            print "$_\n";
        }
    },
);

find($finder, '.');

Comments? The idea of match() is you can build the copy/ignore/accept
rules from .ttreerc on the fly...  my local hacked version of ttree
grows ever-more small... <g>

------=_Part_150_28772045.1096688947935
Content-Type: application/x-tar; name="File-Find-Tsite-0.01.tar.gz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="File-Find-Tsite-0.01.tar.gz"

H4sICNwgXkEAA0ZpbGUtRmluZC1Uc2l0ZS0wLjAxLnRhcgDtWntT20gSz7/Mp5gN3gOqbNkGG64M
8cIRSKgkQAG5u1TIumR7bKuQJUUPE98W99nv1z0j+YGBZEORuqy6KGzN9PT0u3tGPnRcVTp0vG7p
InJiVapYlWr52eNCBbBVr9Nndatemf5M4Vm1Ul3fqq1XNjZqzyrV+nq1+kzWH5mPhZBEsR1K+aw7
dm3vHryBHXadyL8TJRUk/fw/gcNF9ned9mP6wJ+w/1Z9K7f/U8Cd9qeJR3KCb7f/5ubGZm7/p4D7
7U8T3+8E327/rXo1t/+TwFfYnyesYPin9yB9bNZqd9i/Wq1uVGftj+pfQ/1/EiX+xe0f2J0ru68k
mbvRIHs3GmzwbZFESkZx6HRi/f3aDj3H60fbgh87vgfVebH8QywdvTo+OTuQUr5oysTrql5RLJ2/
OTqVUo9V8Pzy5Pggfa4WxY0hc/Al8MNYhXqPto1/K+nYCnD8JJSFfx6cnR+dHOvlknx0myd2D/59
enJ2Ic3E6trMcOvkDQ9/vl6VPUgmh3bcGUhmhLkzbJtVv5pVF3uvzomYWEpFjIjnj0Tm9tpPEC1K
2pFMZfs4tx1j2K4rJxgT/jCH3YV4MVB2tyqP994dCHHLFrIkD131xWm72lCS5mAKeTHAfytbfv7h
+OT0/OgcBCVp8zYh4q1BzGBXKYdjWWAmVQiB+RuklvJzWL5EwBfKxC2EIxNjOAgdmPv5qQpdOfS7
CYjLQuvSe77N06GKk9Bj7WwTlZtiRisaeXO0lmWswAbpaXVNxr50+p4fKkmosuuEUWOaplb2PNXA
797Fot8F6cX8kQmnKMFZ7cSNF5I5iUkzV2RLvzdHkNdLrUeWItVkUa5YK2RUY5SXB+f7Z0enF/Bf
IWCwyOhOOsPAVUNF7hVf+7KXeJ3YgccVU63YqQ+trsHGZjBQYc8Ph5G0ZTvEBvGg1IO6YhmH9kiF
ke0Sr76npB9iJ6gU2lSd2A8dFRXFFE3ZwfpYEaWO60cJUEGZHcfx0n3Iy0Z26PhJBKLS1iyKrgqU
dkEMQkusHM8eqokzah8X4ph4aY9TRacI6yby5YXdjzDmg3lZwxe46ZB9VIgIBKUdycYkEIn/BsVb
hqkf9ne0fpqMsb9jZGxmaBkJwiUfaBaBRs6KL3qN9rImcdhGWswkOXx/vE/mOyf7kZJc178m2TOT
SRvK8wP6DsbHUukE1iVSnSQWmczaU0YOgtGHp+ySp68JcaqVPWfR1HDjWdtS+PLCoujgOzFCFqDv
xHbGFRy+p0LldZRMd2QDKxtZiezFYk82iZTyLJGhxvYVfMPzIVs/YTfVenKgR3BJfhIhGpgk7T8h
q/0AU9cOWB2AdbjYauBHETLYGGy5duyMFHzZjgeINfYl1eUsEFup9x/tdH1mIG6ynLIzAK8cCu89
17lS8u3OJMHBiMSEifGR7SaKdJVJg7BDvMEocAFLHPWwE43Zsme7cHheoEl0khBKi7UoLEEbdfDK
CQKyJwew77EYbGo4GipVxGqYjjTyW+wB6UY6xAfwwl7ow8iKTGZ3jci05+dEJSpzFspDXECQjChF
d9rIztHA6aEQ08AusYaaJHdbemC1QCOUc5auB8T2qkZZ43TGkykFs5gyIgz0QvIkPXnqS4zajbmI
diw1qZguLeHP6cnVUldjaorMFYQlhCWfM0HIA8UJvaUgiQZmtyK0FMg/5HOeLRdaz5E9ZR+GxyD5
EDIEkia7V/qExxvScTelzUQpUanpkRuBv5ssvnTY/2rS1JpJuFlEaJ+2pesgvOAeV2pc0r4S2Ago
S1J8Y1AHtHIo/4tQ9RHPk2iKtBn3d1CEyk1p3J86JZh1xaS5FU2LiWtqsGroJ7HjqSlSsHmajdnV
jP/aU7ELF/HUtTsu6XTdzaSx5qQrShgfMXht3JaDJks18cBmj9c7gIzGGShkjDDxdPhC1MRFOwx5
QzgCiAqT3ycR1TJpoEfjkIujSLc68PfJzrTKjiK/48xwPZGMwzCesQ/mDIPRJDkTIfbOgEPNy4IS
GqeQ1ME8WWbSuF6YJb50i2k1c6t6m4CpDg8ut8FBYlQDY+z1wB1nZ8NopHNfG3lV83ofzUxn6bCY
uMCUGq/hk4yWOZrxvGIavDB/348nehDGQdNGxzab2pxbZRSojtNjRVJH+O094C9f2QM+3K19NSX3
Pq7uojTX993Rl840nF/XJe7DcuTgVFpRpcfMQWYO3dd2KU100QmVoGjD1zK0fUV5IeQgX+BUkgLM
Yi64zxTcN1NctdEuyanI4VLEaUi3TJZlAdmwKilYV405177CkNhvehUZbn7ZLZPNrXEX73TLOHBV
P9XuLSpknrVZw3DIThDNyob4TnNk9KukZzqbkqrP/WLWLA+5dMR04OLeGxmDu2vlqj56iiKC6bep
+q0Toi7guwi5SFfqQuZI8vJvJ28wOCnZLS0qLaBqREdQLtlFXbmny3GBED5WPkn1eZIITG2e2kKj
VT9x6aQUaiom09H1mVgrykvecZtq6RIfZ5kUVMhVgfhmjlYZ3ezDfKCF+K+eLDXBj5liSUcpA5ip
fkI/UWhxhwJYlki5OsQsHsiMyzaCAA5VqMJoG0ZIQ9GIgCN02qVgOoVlThSMxHyNwAkGKeZ5MNNK
2tdMNgUZfma93BgFpXOzq+AXN9mpYO/9xeuTMyFe0sWR/BdyuGMP5WtzTSQPdty42U1vjXY7ge1Z
ftg/2OmjnxVvdwZxHDTKZb52slI0y1NxuZltsX9y+uHs6NXrC3LHfT8Yh05/EMvV/TW5XqnU5OKt
LSn3UEvOCDeSZypS4YjT+8zhk7oYhXzh9+JrtCfbcuwnKEJUg0EFJaWdxIrqIop92Q8F1jm9MQ1Q
CIaTZINKR6fRSHKAO3GkXNRU8aMvtnL4Klh4//uPxHG71unbR9rj/vtfzFWr8+9/6pWN/P73KWD5
l3ISheW245UDxC9fwr7Td3sNdoNtQcm8TV+R0GemSk0cTNAs6pTSomO/nNxyrty6fVxBK0W5pUV3
GWhaWnyOYtzFbxyyBXYSD1Cxp4jfkXV3bmfcJlFxnY7yooy9lAqJTNOh+pzg7B7NTlMt0yjz6+rW
360KLaTuUJ/LWtQgUKvRClxNG117PMCRrz9Y0be8WoulplnAT62oEzoBCvMPsv/C+H+3d3x0eHB+
YVFR/f49Hor/yubW/Pu/anU9j/+ngEvLd7sFcWm17SvRRhgK7Zfidw7xgvj90loW3IrjP1R1afX/
U8ir+88Ci+P/4GLPGg/dR9rjofiv1Tfn638NKSGP/yeAUqkklz/svXvbqFoVQSW8Ied8Qphy3eAX
r0LX4sYdh4+FFVjYbZwocHZs3P8e01TphuRWJC3KDRx+aKAhueyKIPRHTleP3+oxaFCaV3WLmwpG
mBWprzwV0vVaqz1uzPY4KSYQ1+s/YdpbGP/qi03vJqMf9vuvrcp6/vu/J4H77U9xFFrBdxaCB/P/
em3u9z+V2mY9z/9PAfPnv3t+9fPwL0r4qEhvLmd+TzK5ac+uz9Nfz9DxCdO65SwvnE5vM6WcvnxP
30maO9Mlc/dbaJXNzfKNVPRed3YyneNzG/GrX8drjrPfbfyEWf5uuPf890h7PBT/1dr8+W9zA+h5
/D8BpFd94lbOF3e0T6lzILD4Qjl9l85v+sXM1YFIDxJ/qZDKIYcccsghhxxyyCGHHHLIIYcccsgh
hxxyyCGHHHLIIYcccvgh8D+lvHn/AFAAAA==
------=_Part_150_28772045.1096688947935--

_______________________________________________
templates mailing list
templates@xxxxxxxxxxxxxxxx.xxx
http://lists.template-toolkit.org/mailman/listinfo/templates

[Templates] Directory traversal module for ttree work-alike
Dylan Hardison 03:49 on 02 Oct 2004

Generated at 08:55 on 15 Mar 2005 by mariachi v0.52