Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

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)


Comment on Re^2: lcfirst and ucfirst not working
Download Code
Re^3: lcfirst and ucfirst not working
by choroba (Canon) on Aug 27, 2012 at 15:05 UTC
    Function calls are not interpolated in double quotes.
    لսႽ ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ
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";

    ...or...

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

    ...or...

    $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).


    Dave

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://989999]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (15)
As of 2015-07-02 13:39 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (40 votes), past polls