简体   繁体   中英

How do I pass a variable into a URL in a Perl script?

How do I pass a variable into a URL in a Perl script? I am trying to pass the variables in an array to url. For some reason it is not working. I am not sure what I am doing wrong. The code roughly looks like this:

@coins = qw(Quarter Dime Nickel);

foreach (@coins) {
  my $req = HTTP::Request->new(POST =>'https://url/$coins.com');
 } 

This does not work as $coins does not switch to Quarter,Dime,Nickel respectively.

What am I doing wrong?

First, variables do not interpolate in single quoted strings:

my $req = HTTP::Request->new(POST => "https://url/$coins.com");

Second, there is no variable $coins defined anywhere:

foreach my $coin (@coins) {
  my $req = HTTP::Request->new(POST => "https://url/$coin.com");
 }

Also, make sure to use strict and warnings .

You should also invest some time into learning Perl properly.

Use

'https://url/' . $_  . '.com'

Instead of your

'https://url/$coins.com'

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM