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.
In reply to Re: Pattern replace in a file name
by thanos1983
in thread Pattern replace in a file name
by kaushik9918
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |