**已关闭。**此问题为not reproducible or was caused by typos。目前不接受答复。
此问题是由打印错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
6天前关闭
Improve this question
为什么我不能在变量中传递URL字符串给“get”?
#use strict; use warnings;
use LWP::Simple;
my $hxUrl;
my $Page;
$hxUrl="https://finance.yahoo.com/quote/SPY/history?period1=1653177600& period2=1685059200&interval=1d&filter=history&frequency=1d&includeAdjustedClose=true";
#using the variable, the page is not read in
$Page = get($hxURL);
print "at 10: length(Page) =", length($Page), "\n"; # length($Page) = null
#using the string directly, the page is accessed properly
$Page = get("https://finance.yahoo.com/quote/SPY/history?period1=1653177600& period2=1685059200&interval=1d&filter=history&frequency=1d&includeAdjustedClose=true");
print "at 14:length(Page) =", length($Page), "\n"; # length($Page) = 1399524
我已经注解掉了“use strict”,因为它不会编译,并坚持说:全局符号“$hxURL”需要显式的包名(您是否忘记声明“my $hxURL”?),网址为test.pl第9行。
不,我没有忘记-我在第三行宣布了。
如果我把'我的'放在第6行,我也会得到同样的信息
如果我把'my'放在第9行的父母中,它会抱怨:在www.example.com第10行打印中使用未初始化值test.pl
没有办法满足它!
我在其他几十个程序中使用过这种模式,没有“my”和“strict”,没有任何问题。我不明白为什么我在这个玩具例子中也有问题。
LWP的错误消息可能会有所帮助,但我没有得到任何消息。
1条答案
按热度按时间mrphzbgm1#
你忘了声明“我的$hxURL”吗?),网址为test.pl第9行。
不,我没有忘记-我在第三行宣布了。
错误是正确的,解决错误也解决了你的问题。您声明并赋值了
$hxUrl
,但使用了$hxURL
(不同的拼写!!)。因此,get
内部使用的变量$hxURL
为空,即你基本上调用了get("")
,这肯定不会达到你预期的结果。