Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

Can I concatenate variables?

by ShermW0829 (Acolyte)
on Jan 26, 2013 at 19:51 UTC ( #1015532=perlquestion: print w/replies, xml ) Need Help??
ShermW0829 has asked for the wisdom of the Perl Monks concerning the following question:

I am trying to use a loop to create variables such as $line_a, $line_b but use a variable to do that. So if I say: foreach $alpha ( a .. b ) { $line_$alpha = "somenum"; } I get an error. I have tried the dot notation. Is it impossible to use variables within variables? Thanks in advance; Sherman

Replies are listed 'Best First'.
Re: Can I concatenate variables?
by LanX (Chancellor) on Jan 26, 2013 at 19:58 UTC
    > Is it impossible to use variables within variables?

    Yes, but for good reasons "symbolic references" are deactivated under strict!

    Better use hashes:

    my %line; for my $alpha ( "a" .. "b" ) { $line{$alpha} = "somenum"; }

    If you still insist to use it, search for "variables as variable names perl".

    EDIT: second google hit Why it's stupid to `use a variable as a variable name' from 1998!!! =)

    Cheers Rolf

Re: Can I concatenate variables?
by AnomalousMonk (Canon) on Jan 27, 2013 at 00:02 UTC

    ShermW0829: FYI, this
        perldoc -q "use a variable as a variable name"
    gives you the FAQ section to which the reply of Dominus linked by LanX is a counter-blast (well, kinda). (Use single- or double-quotes as appropriate to your OS.)

    Found in C:\strawberry\5.14\perl\lib\pods\perlfaq7.pod How can I use a variable as a variable name? Beginners often think they want to have a variable contain the nam +e of a variable. ...
      Thank you to everyone. I saw the statement that something like PERL people aren't really PERL people until they understand and use hashes. Sherman

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1015532]
Approved by Corion
[Corion]: Hi choroba, Discipulus!
[Corion]: Yesterday I've been mulling over how to best generate HTTP requests from permutations of values but I haven't found a nice API for passing in the "template" of the HTTP request yet. I guess I'll have to do a SoPW for that
[Corion]: The API itself will basically be my $iter = generate_http_requ ests(method => 'GET', url => '/settings/:name', headers => ???, get_params => ['foo','bar']), but I'm not sure how to parametrize values in the headers and how to specify lists of ...
[choroba]: On the other hand, lots of options to receive the requests :-)
[Corion]: ... values to be used. For example, I think for headers, one would want to have various kinds of Content-Encoding headers, but for the get_parameters one would have various kinds of Bobby Tables
[choroba]: What about [metadoc:// Algorithm::Loops]?
[Corion]: choroba: Yeah, but handing off the request to Dancer,Plack, Mojolicious,LWP is easy once I have the data filled into some structure ;))
[choroba]: Algorithm::Loops
[Corion]: choroba: I'm using that to generate the permutations, but I don't know how the user can pass the intended values to my function in a sane way
[Corion]: I have a prototype that permutes the get_parameters, but the values used for the get parameters should be different from the values used for the headers and potentially for parts of the URL

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (9)
As of 2017-01-17 08:16 GMT
Find Nodes?
    Voting Booth?
    Do you watch meteor showers?

    Results (152 votes). Check out past polls.