1
嗨,所以我最終要做的是從窗體(方法POST)中的textarea獲取用戶輸入,並基本上逐行閱讀並將行存儲在一種狀態變量或計數器,直到空行被命中並且狀態變量的值作爲一個元素被壓入一個數組。在此之後,狀態變量被重置,並且該過程繼續直到所有輸入被讀取。在視覺上,這是它應該做的。用戶輸入的Perl和循環和存儲Form Post輸入
例子:
一些例如用戶輸入顯示
一些與
的hello world Lorem存有
- 我希望程序讀取這些兩個第一線(假設它們之間沒有空行),並在程序看到它們下面有空行時將它們推入一個數組元素。同樣的事情適用於「hello world lorem ipsum」這一行。
這是我到目前爲止。我曾試圖在第一個foreach循環,但它沒有工作,要麼
#!/usr/bin/perl
use strict;
use warnings;
use CGI;
my $CGI = new CGI();
sub main {
print $CGI->header();
my @query = $CGI->param('query');
while(@query) {
my $line = shift(@query);
print "$line";
}
#my $count = 0;
#my @res;
#foreach my $line(@query) {
# if($line =~ /[A-Za-z0-9]/) {
# push(@res, $line);
# } elsif ($line =~ /^\s$/) {
# $count++;
# }
#}
print<<HTML;
<html>
<head>
<style>
textarea {
resize: none;
}
</style>
</head>
<form action="rand.cgi" method="post">
<textarea name="query"></textarea>
<input type="submit"/>
</form>
<p>Last submitted:<br><br><pre>@query</pre></p>
</html>
HTML
}
main();
我感謝你的幫助,但我實際上需要程序來分割$輸入時,它看到一個空行。此外,出於某種原因,「有東西」被切斷,而不是任何數組元素。 – John
擺脫'\ r'並轉到'/ \ n \ n /'。空行只不過是換行符,後面跟着另一個換行符。 – simbabque
你是男人謝謝你。我完全想到這個哈哈。 – John