Hi,
How can I remove a part of a string, what I try to do is removing the ($dir1) C:\eval form the string $filename example c:\eval\new document.doc.
And when there is a sub folder I like to display \Folder\New document.txt. without the c:\eval
The following script gives me already a lot of info, but I don’t get the Regex correct $filTest=~s/$remove//; I don’t know how I must use Strings in this context?
Can someone give me a possible solution..
Thnx,
Navmen
#!/usr/local/bin/perl -w
use strict;
use Errno;
use Getopt::Std;
#use Win32::TieRegistry ( Delimiter=>"/", ArrayValues=>1 );
use Time::Local;
use file::compare;
use Win32::ODBC;
use strict;
my $dir1 ='c:\eval';
my $remove = 'c:\eval';
do_dir($dir1);
exit;
sub do_dir {
my $dir = shift;
opendir(D, $dir);
my @f = readdir(D);
closedir(D);
foreach my $file (@f) {
my $filename = $dir . '\\' . $file;
if ($file eq "." || $file eq "..") {
} elsif (-d $filename) {
# depending on your needs you can do subdirs
do_dir($filename);
} else {
# do something with $filename, like ...
print "$dir1 \n";
print "FileName: $filename \n";
my $filTest = $filename;
$filTest=~s/$remove//;
print "NoDrive: $filTest \n";
#print "$file\n";
}
}
}
How can I remove a part of a string, what I try to do is removing the ($dir1) C:\eval form the string $filename example c:\eval\new document.doc.
And when there is a sub folder I like to display \Folder\New document.txt. without the c:\eval
The following script gives me already a lot of info, but I don’t get the Regex correct $filTest=~s/$remove//; I don’t know how I must use Strings in this context?
Can someone give me a possible solution..
Thnx,
Navmen
#!/usr/local/bin/perl -w
use strict;
use Errno;
use Getopt::Std;
#use Win32::TieRegistry ( Delimiter=>"/", ArrayValues=>1 );
use Time::Local;
use file::compare;
use Win32::ODBC;
use strict;
my $dir1 ='c:\eval';
my $remove = 'c:\eval';
do_dir($dir1);
exit;
sub do_dir {
my $dir = shift;
opendir(D, $dir);
my @f = readdir(D);
closedir(D);
foreach my $file (@f) {
my $filename = $dir . '\\' . $file;
if ($file eq "." || $file eq "..") {
} elsif (-d $filename) {
# depending on your needs you can do subdirs
do_dir($filename);
} else {
# do something with $filename, like ...
print "$dir1 \n";
print "FileName: $filename \n";
my $filTest = $filename;
$filTest=~s/$remove//;
print "NoDrive: $filTest \n";
#print "$file\n";
}
}
}