Я новичок в Perl и пытаюсь создать сценарий, который принимает ввод от пользователя, а затем получает данные XML с веб-сайта на основе этого ввода вместе с URL-адресом, а затем передает его обратно пользователю.
Но у меня были некоторые проблемы с созданием полезной ссылки на основе ввода от пользователя.
Это мой код полностью:
use strict;
use warnings;
use utf8;
my $row = 0;
use XML::LibXML;
print "\n\n\nOn what place do you need a weather report for? -> ";
my $ort = <>;
my $url1 = "http://www.yr.no/place/Sweden/Västra_Götaland/";
my $url2 = "/forecast_hour_by_hour.xml";
my $url = join('', $url1,$ort,$url2);
my $dom = XML::LibXML->load_xml(location => $url);
print "\n\nSee below the weather for ", $ort, ":\n\n";
foreach my $weatherdata ($dom->findnodes('//time')) {
if($row != 10){
my $temp = $weatherdata->findvalue('./temperature/@value');
my $value = $weatherdata->findvalue('./@from');
my $valuesub = substr $value, 11, 5;
print "At ", $valuesub, " the temperature will be: ", $temp, "C\n";
$row++;
}
}
print "\n\n";
Важный бит, который я предполагаю, этоодин:
my $ort = <>;
my $url1 = "http://www.yr.no/place/Sweden/Västra_Götaland/";
my $url2 = "/forecast_hour_by_hour.xml";
my $url = join('', $url1,$ort,$url2);
my $dom = XML::LibXML->load_xml(location => $url);
Когда я запускаю его, я получаю это: ![enter image description here](https://i.stack.imgur.com/dPFVv.png)
Он входит в разрыв строки, а затем ссылка разрывается.
Я думаю, что проблема заключается в $ort
причина, когда я пытаюсь печатать только $ort
с чем-то, что приходит после того, как я получаю разрыв строки.
Я надеюсь, что я объяснил это ясно, или вы, возможно, можете сказать,мне, что нуждается в улучшении.