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.
Seeking for Perl wisdom...on the process of learning...not there...yet!
|
---|
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 |
In Section
Seekers of Perl Wisdom