Your subroutine never inserts anything into an array, so nothing is returned by report() and stored in @array. Also, while your reverse-chop-reverse may be good kung-fu, it's much easier to substr($line,1,8) to get rid of the '#' at the beginning. Further, the substr means you don't need the chomp.
use strict; use warnings; my $path = "/efsprod/docmnt/"; my @array = &report(); foreach my $line (@array) { $line = $path . $line; print "$line\n"; } sub report() { open(F,"Textfile.txt") or die "$!\n"; my (@filelist); while(<F>) { push @filelist, substr($_,1,8); } return @filelist; }
Update(s): add path to array elements, not just to print statement. Remembered after that foreach aliases placeholder with array elements so we don't have to replace with C-style for.
In reply to Re: Unable to concatinate a Path to the array elements, which will have the values as return values from sunroutine
by GotToBTru
in thread Unable to concatinate a Path to the array elements, which will have the values as return values from sunroutine
by perladdict
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |