Or a slightly simpler version using split (output still lowercased):>perl -wMstrict -le "print q{output:}; for my $url (@ARGV) { (my $filename = $url) =~ s{ .* / (\d+) / (_ \d+ \. pdf) \z } {$1\L$2}xmsi; print qq{url: $url -> filename: $filename}; } " /pdf/100004/_20090326.pdf /pdf/100006/_20090326.pdf /foo/bar/pdf/123/_456.PdF output: url: /pdf/100004/_20090326.pdf -> filename: 100004_20090326.pdf url: /pdf/100006/_20090326.pdf -> filename: 100006_20090326.pdf url: /foo/bar/pdf/123/_456.PdF -> filename: 123_456.pdf
Updates:>perl -wMstrict -le "print q{output:}; for my $url (@ARGV) { my $filename = lc join '', (split '/', $url)[-2, -1]; print qq{url: $url -> filename: $filename}; } " /pdf/100004/_20090326.pdf /pdf/100006/_20090326.pdf /foo/bar/pdf/123/_456.PdF output: url: /pdf/100004/_20090326.pdf -> filename: 100004_20090326.pdf url: /pdf/100006/_20090326.pdf -> filename: 100006_20090326.pdf url: /foo/bar/pdf/123/_456.PdF -> filename: 123_456.pdf
In reply to Re: Question about WWW::Mechanize
by AnomalousMonk
in thread Question about WWW::Mechanize
by palsy017
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |