Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Perl Advent 2012-12-01: Sweet Path::Class is Coming to Town

by tobyink (Abbot)
on Dec 01, 2012 at 20:19 UTC ( #1006637=CUFP: print w/ replies, xml ) Need Help??

Today's Perl Advent is about Path::Class - definitely my favourite file/directory manipulation tool. I was disappointed to see that it didn't also mention David Golden's Path::Class::Rule.

So anyway, here's my rewrite of the script from "How can i debug compound map/grep statements just using print?" using Path::Class::Rule...

use 5.010; use strict; use warnings; use Getopt::Long qw( :config no_ignore_case ); use Path::Class::Rule; GetOptions( 'help|h' => sub { help(0) }, 'suffix=s' => \(my $suffix = ''), 'age=i' => \(my $age = 0), 'count' => \(my $count = 0), ); @ARGV or help(1); my @matches = "Path::Class::Rule" -> new -> file -> name(qr{\.$suffix$}) -> modified(">$age") -> all(@ARGV); if ($count) { say "count: ", scalar @matches; } else { say for @matches; } sub help { print <<"USAGE"; exit($_[0]); $0 --suffix=SUFFIX --age=DAYS DIR [DIR ...] $0 --suffix=SUFFIX --age=DAYS --count DIR [DIR ...] USAGE }
perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'

Comment on Perl Advent 2012-12-01: Sweet Path::Class is Coming to Town
Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: CUFP [id://1006637]
Front-paged by Arunbear
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (4)
As of 2015-07-06 01:37 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (68 votes), past polls