in reply to How can I use printf FORMAT strings for (Win32) shell globs?
I had a few minutes to take a crack, and the following is what I came up with. I made it about half-way through. It is tested, but not well vetted... ie. it runs, it's much safer than what you have, and it shows a bit cleaner of a way to display things (you don't need printf() in Perl in most cases as variables interpolate within double-quotes).
use warnings; use strict; die "need arg!\n" if ! @ARGV; chomp (my $match = $ARGV[0]); print "match: $match\n"; my ($prefix, $format, $ext) = $match =~ /([\w]+)(%[0-9]+d)\.([\w]+)/i or die "nope, can't dig up stuff\n"; print "prefix: $prefix\n" . "format: $format\n" . "ext: $ext\n\n"; my ($count) = $format =~ /%([0-9]+)d/ or die "can't fetch format...\n"; print "count: $count\n";
Output:
match: Img%04d.png prefix: Img format: %04d ext: png count: 04
I am literally gearing up to head out of the city to photograph Aurora Borealis (as the Kp index is extremely high), so the other Monks can help out with the rest, and correct me where I've been hasty ;)
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: How can I use printf FORMAT strings for (Win32) shell globs?
by huck (Prior) on Jul 17, 2017 at 02:30 UTC |