Nano Hash - криптовалюты, майнинг, программирование

Вручную добавить параметры в perl cgi

Я написал cgi-скрипт, и он делает следующее:

#!/usr/bin/perl
use strict;
use warnings;
use CGI qw(:cgi-lib :standard);
use CGI::Carp qw(warningsToBrowser fatalsToBrowser);

my $q = new CGI;
print $q->header;
print "<center>";
print $q->h1('Let\'s do something!');
print "</center>";
print $q->start_html(-title => 'Do something');
print $q->end_form;

our %in;
&ReadParse(%in);
my @keys = keys %in;
my @values = values %in;
main();

sub main{
    print "<center>";
    my $q0 = new CGI;
    print $q0->start_form(
        -name    => 'sniff_button',
        -method  => 'POST',
        -enctype => &CGI::URL_ENCODED,
    );
    print $q0->submit(
        -name     => 'button',
        -value    => 'Do something',
    );
    print $q0->end_form;
    print "</center>";
}

Я хочу добавить некоторые параметры вручную, потому что следующий зависит от предыдущего состояния, а не только от текущего состояния (поэтому мне нужно передать параметр дважды).
Я проделал кое-что с param ( ) и URI, но ни один из них не работает. Любой совет?

05.09.2014

  • Что вы имеете в виду под параметрами? Объясните, что вы пытаетесь сделать, а не как вы пытаетесь это сделать. 05.09.2014
  • Вы имеете в виду, что я хочу, чтобы параметр был отправлен вместе с параметрами, предоставленными пользователем? Используйте скрытое поле. 05.09.2014
  • Спасибо, бро. Скрытое поле сделало свою работу (y). 06.09.2014
  • Откуда вы изучаете CGI-программирование? это похоже на программу CGI 15-20 лет назад. Пожалуйста, постарайтесь выработать несколько менее устаревших привычек. 08.09.2014
  • Из perldoc: perldoc.perl.org/CGI.html 08.09.2014

Ответы:


1

Скрытое поле - это ответ:

sub main{
    print "<center>";
    my $q0 = new CGI;
    print $q0->start_form(
        -name       => 'sniff_button',
        -method     => 'POST',
        -enctype    => &CGI::URL_ENCODED,
    );
    print $q0->hidden(
        -name       => 'machine_state',
        -default    => 'some_previous_value');
    print $q0->submit(
        -name   => 'button',
        -value  => 'Do something',
    );
    print $q0->end_form;
    print "</center>";
}
06.09.2014
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..