Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

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?

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

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (8)
As of 2014-07-12 07:24 GMT
Find Nodes?
    Voting Booth?

    When choosing user names for websites, I prefer to use:

    Results (238 votes), past polls