a simple regular expression is needed to eliminate the file extension: 

$_="123"; 
/(XX)YY/; 
print "$1\n" ; # result: "123"; 

$_="123.txt"; 
/(XX)YY/; 
print "$1\n" ; # result: "123" 

$_="123.txt.txt"; 
/(XX)YY/; 
print "$1\n" ; # result: "123.txt"; 

Any suggestions for /(XX)YY/ ? Thanks. 


[Bullock, Howard A.] 

You can use ...

use File::Basename;

    ($name,$path,$suffix) = fileparse($fullname,@suffixlist);
    $name = fileparse($fullname,@suffixlist);
    fileparse_set_fstype($os_string);
    $basename = basename($fullname,@suffixlist);
    $dirname = dirname($fullname);

    ($name,$path,$suffix) = fileparse("lib/File/Basename.pm",qr{\.pm});
    fileparse_set_fstype("VMS");
    $basename = basename("lib/File/Basename.pm",".pm");
    $dirname = dirname("lib/File/Basename.pm");


Or 

my ($basename) = $_ =~ / ^(.*)\.[^.]+$/;

_______________________________________________
ActivePerl mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to