in reply to Pattern replace in a file name
Hello kaushik9918,
I am sure that fellow Monks will come up with a better solution but here is one possible way :).
#!/usr/bin/perl use strict; use warnings; use feature 'say'; sub processString { my @array = split /\//, shift; my @slice = splice @array, 1, 7; return '/' . join('/', @slice); } my $str = "/fd/gfree/tere/frf4545/geerg/fds/0.1/fsdf/dsakdsa/"; say processString($str); __END__ $ perl test.pl /fd/gfree/tere/frf4545/geerg/fds/0.1
Update:
Including loop for demonstration purposes:#!/usr/bin/perl use strict; use warnings; use feature 'say'; sub processString { my @array = split /\//, shift; my @slice = splice @array, 1, 7; return '/' . join('/', @slice); } my @array = ("/fd/gfree/tere/frf4545/geerg/fds/0.1/fsdf/dsakdsa/", "/fd/gfree/tere/frf4545/geerg/dfds/5.9/fdsf/fdsfd/", "/fd/gfree/tere/frf4545/geerg/dsad/02.44/fdsf/fdsf/"); say processString($_) for @array; __END__ $ perl test.pl /fd/gfree/tere/frf4545/geerg/fds/0.1 /fd/gfree/tere/frf4545/geerg/dfds/5.9 /fd/gfree/tere/frf4545/geerg/dsad/02.44
One minor question here kaushik9918. I see on your sample of output that you provide us you are having two forward slashes // is this an accident while you where typing it or it is intended to be like this?
Looking forward to your reply.
Hope this helps, BR.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Pattern replace in a file name
by kaushik9918 (Sexton) on Mar 28, 2019 at 09:56 UTC | |
by Laurent_R (Canon) on Mar 28, 2019 at 20:16 UTC |