#!/usr/bin/perl print "get some string: "; chomp($string = <STDIN>); #$string = $ARGV[0]; #chomp($string); $string =~ m/\/([[:alnum:]]+)_.*\.(.+)$/; print "$1\n"; $type = $2; print "$type\n"; $string =~ m/(.+)\.${type}$/; #$string =~ m/(.+)\.${type}\Z/; #$string =~ m/(.+)\.${type}\z/; #$string =~ m/(.+)\.${type}/; print "$1\n"; exit 0; OUTPUT - which is wrong get some string: /xxxx/yyyy/ZZZ_xxxx.CCC ZZZ CCC ZZZ BUT IF I: #!/usr/bin/perl #print "get some string: "; #chomp($string = <STDIN>); $string = $ARGV[0]; chomp($string); $string =~ m/\/([[:alnum:]]+)_.*\.(.+)$/; print "$1\n"; $type = $2; print "$type\n"; $string =~ m/(.+)\.${type}$/; #$string =~ m/(.+)\.${type}\Z/; #$string =~ m/(.+)\.${type}\z/; #$string =~ m/(.+)\.${type}/; print "$1\n"; exit 0; OUTPUT - IS CORRECT ZZZ CCC /xxxx/yyyy/ZZZ_xxxx
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |