Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?

Re^2: lcfirst and ucfirst not working

by laksh (Novice)
on Aug 27, 2012 at 14:58 UTC ( #989999=note: print w/replies, xml ) Need Help??

in reply to Re: lcfirst and ucfirst not working
in thread lcfirst and ucfirst not working

I am trying to do as per below code but it is not working, here I dont want to use ucfirst
print "Please enter your name:\n"; chomp($name = <>); $x = "\u substr($name,0,1)\n"; print $x;
But it giving the result Please enter your name: sds Substr(sds,0,1)

Replies are listed 'Best First'.
Re^3: lcfirst and ucfirst not working
by davido (Archbishop) on Aug 27, 2012 at 17:38 UTC

    As choroba correctly mentioned, function calls don't interpolate inside of strings (at least not unless you resort to some ugly trickery). The far better approach is this:

    print "Please enter your name:\n"; chomp( $name = <> ); $x = ucfirst $name; print $x;

    If you have a good reason for not wanting to use ucfirst, then you do have alternatives:

    # The \u metacharacter acts only upon the first character. # No need for substr. $x = "\u$name";


    # Assuming Perl 5.14+ $x = $name =~ s/^(.)/\u$1/r;


    $x = $name; $x =~ s/^(.)/\u$1/;

    But why isn't ucfirst available to you? Also, did you read through the code example I provided in my earlier Post? It should have made it reasonably clear that "\u$string" does what you want without resorting to using substr (unless we're not seeing some relevant code from you that would make this approach unsavory).


Re^3: lcfirst and ucfirst not working
by choroba (Bishop) on Aug 27, 2012 at 15:05 UTC
    Function calls are not interpolated in double quotes.
    لսႽ ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://989999]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (3)
As of 2018-01-20 03:57 GMT
Find Nodes?
    Voting Booth?
    How did you see in the new year?

    Results (226 votes). Check out past polls.