Поместите данные из текстового файла в форму HTML - PullRequest
0 голосов
/ 04 июля 2018

У меня есть текстовый файл, который показывает список курсов валют.

Я прочитал первую строку содержимого текстового файла, и мне нужно, чтобы эта строка была вставлена ​​в форму ввода.

Perl

#!/usr/local/bin/perl

use strict;
use warnings;

use CGI qw(:standard);
#use Data::Dumper;
#use CGI;

my $q = CGI->new;

my %data;

$data{name} = $q->param('name');

print header;

my $file = '/admin/currencyX.txt';
open my $info, $file or die "Could not open $file: $!";

while ( my $line = <$info> )  {   
    print $line, "<br>";    
    last if $. == 1;
}

print
    start_html('A Simple Example'),
    h1('A Simple Example'),
    start_form,
    "What's your value? <br>",
    textfield(-name => 'name', -class => 'nm', -value => '$line'),
    p,
    submit(-value => 'Add', -name => 'ed'),
    end_form,
    hr;

if ( $ENV{'REQUEST_METHOD'} eq "POST" ) { 

    if ( $data{name} eq '' ) {
        print "Please provide the input";
        exit;
    }

    #print "response " . Dumper \%data;
}

if ( param() ) {
    print 
    "Your name is",em(param('name')),
    hr;
}

print end_html;

Текстовый файл имеет аналогичные значения, как

Текстовый файл

AFN Afghan Afghani  73.0556951371   0.0136881868
ALL Albanian Lek    108.3423252926  0.0092300031
DZD Algerian Dinar  117.9799583224  0.0084760159
AOA Angolan Kwanza  249.2606313396  0.0040118650
ARS Argentine Peso  28.2508833695   0.0353971232
AMD Armenian Dram   482.0941933740  0.0020742834

Мне нужно исправление, чтобы сделать эту работу.

Ответы [ 2 ]

0 голосов
/ 04 июля 2018
textfield(-name => 'name', -class => 'nm', -value => '$line'),

Ваша проблема в том, что вы поставили $line в одинарные кавычки - что останавливает его интерполяцию. Попробуйте просто удалить их.

textfield(-name => 'name', -class => 'nm', -value => $line),
0 голосов
/ 04 июля 2018

Лучший способ сделать это - найти альтернативу выводу текстового значения

open my $getV, '<', "/admin/currencyX.txt"; 
my $realV = <$getV>; 
close $getV;

print $realV; # will out put AFN Afghan Afghani  73.0556951371   0.0136881868

Затем добавьте строку к входному значению html

"What's your value? <br>",textfield(-name =>'name', -class =>'nm', -value =>$realV),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...