just want to ask if there is a better way of doing this
That depends on what makes one solution "better" than another and also how representative your sample set is.
use strict; use warnings; use Test::More; my @set = ( { file => '-/yf/-/22211_01_09_2000_XYz.pdf', zip => '22211' }, { file => '_/gt/-/02239_04_04_1989_PkW.pdf', zip => '02239' }, { file => '-/xy/-/02239_04_04_1989_PkW.pdf', zip => '02239' }, ); plan tests => 2 * @set; for my $datum (@set) { is zip_substr ($datum->{file}), $datum->{zip}, "Substr for $datum- +>{file}"; is zip_regex ($datum->{file}), $datum->{zip}, "Regex for $datum- +>{file}"; } sub zip_substr { return substr (shift, 7, 5); } sub zip_regex { my ($zip) = shift =~ m#/(\d{5})_#a; return $zip; }
In reply to Re: Matching hyphens in file path to extract zip code
by hippo
in thread Matching hyphens in file path to extract zip code
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |