in reply to Re^2: Regular expression
in thread Regular expression

You could use File::Basename, split and tr:

use File::Basename; $record = "FRAG 1 1 2000000 0 0 0 0 \\\\172.20.13.49\\backup\\rbgmst02 +_dd2\\stu1\\CPOSTA_1221170039_C1_F1 rbgmst02 65536 0 0 -1 0 *NULL* 12 +22379639 1 65537 0 0 0 0 0 0 0"; if($record =~ m|FRAG|) { my $str = (split " ", $record)[8]; $str =~ tr[\\][/]; print basename($str),"\n"; } __END__ CPOSTA_1221170039_C1_F1

Alternative:

$record = "FRAG 1 1 2000000 0 0 0 0 \\\\172.20.13.49\\backup\\rbgmst02 +_dd2\\stu1\\CPOSTA_1221170039_C1_F1 rbgmst02 65536 0 0 -1 0 *NULL* 12 +22379639 1 65537 0 0 0 0 0 0 0"; if($record =~ m|FRAG|) { $record =~ /(?<=\\)(\w+)(?:\s|$)/; print "$1\n"; } __END__ CPOSTA_1221170039_C1_F1

See perlre.