rag-sree has asked for the wisdom of the Perl Monks concerning the following question:

I,m very much new to perl. How can I match special character \ at the end of a string?

Replies are listed 'Best First'.
Re: Matching character
by mtmcc (Hermit) on Jul 21, 2013 at 15:43 UTC
    It might be useful for you to read through perlre.
Re: Matching character
by choroba (Cardinal) on Jul 21, 2013 at 21:19 UTC
    You can use substr:
    $string = 'abcd\\'; print "Matched\n" if '\\' eq substr $string, -1;
    لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ
Re: Matching character
by vinoth.ree (Monsignor) on Jul 21, 2013 at 14:47 UTC
    $str = "testing\"; $str =~ /\\$/;

    All is well

      This is easy to do when typing code directly into a node, you would catch this quickly but for the new monks:

      $str = "testing\";

      The backslash in this case will escape the double quote (") and with warnings turned on you get this:

      Can't find string terminator '"' anywhere before EOF at C:\b\perlmonks\regex\1045512.pl line 4.

      Without warnings you get "Bareword found where operator expected at ..."

      use strict; use warnings; my $str = "testing\\"; print "matched!" if $str =~ /\\$/;

        Lol Lotus1

        You are right. I did not test. Thanks


        All is well