PerlもHTMLも初心者です。hiddenの使い方が分からないのですが、
■sub test1
<form NAME="minshu" ACTION="test.cgi" METHOD="post">
<input TYPE="submit" >
<INPUT TYPE="hidden" NAME="aso" VALUE="write"> ..
■test.cgi
$hatoyama=$Form{'aso'};

と、hiddenで送った変数をtest.cgiで受け取る時、$Form{}で受け取ると決まっているのですか?$minshu{aso}とかでは受け取れないのですか?
この場合、hiddenのnameはどういう役目をしているのですか?
hiddenのname="minshu" とかすれば$minshu{aso}で受け取れるかと思っていたのですが、うまくいかないようなので..

A 回答 (2件)

例えば、


<INPUT TYPE="hidden" NAME="aso" VALUE="write"> と
<INPUT TYPE="hidden" NAME="minshu" VALUE="ok">
を送ると

$Form{aso} には write 、$Form{minshu} には ok が入ります。
$Form の Form は受け取る時に任意に変えられ $minshu{aso} 、$minshu{minshu} とするのは可能です。
    • good
    • 0
この回答へのお礼

早速のお返事ありがとうございました。
>$Form の Form は受け取る時に任意に変えられ
>$minshu{aso} 、$minshu{minshu} とするのは可能です。

$form のformを変えたら動かないのは、他に問題がありそうですね..

なお、hiddenのnameは何に使うのか教えていただけましたら、幸いです。

お礼日時:2009/05/23 15:55

>>hiddenのnameは何に使うのか教えていただけましたら、幸いです。


 データーを送信(渡す)したい時の任意の変数名だと思います。

 例えば、write とか ok というデーターを送りたい時に、任意の name名で、
 name=kakikomi value=write
 name=check value=ok

 として送り、受け取ったPerl等で、$IN{'kakikomi'} には write が入り、$IN{'check'} には ok が入ります。
 
    • good
    • 1
この回答へのお礼

あ、そうですね。おっしゃるとおりですね。hiddenで送るデータは一個でない訳だからですね。
ありがとうございました。

お礼日時:2009/05/24 06:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QPCデータのバックアップのために、RAID1(ミラーリング)を簡単にし

PCデータのバックアップのために、RAID1(ミラーリング)を簡単にしてくれるソフト

お世話になります。
現在、PCデータのバックアップを取りたいと考えています。
その際の形として、
・外付けHDDを2台用意
・ミラーリングソフトを購入
で考えております。

また、ソフトに求める形として、
・ミラーリング
・前回の差分のみをコピーしてくれる。
形を望んでいます。

有料のソフトでも結構ですので、教えて頂ければと思いますので
宜しくお願いします。

また、ほかによい方法ありましたら教えてください。

Aベストアンサー

>HDD2台に対してのミラーリングという意味でした。。。
RAIDという用語が不適切でしたね ^ ^;

>定期的に外付けHDD×2に手動でバックアップ
> そのHDD2台に対して、一度にミラーリング・前回分との差分を判断してコピー
>をしてくれるソフトなのです。
UNIX系なら rsync で決まりのようですが、Windows環境でも rsync を使うのが多いようです

下記のサイトを参照してみて下さい。
http://ebony.blog.so-net.ne.jp/2009-02-21

Cygwin + rsync
http://satospo.sakura.ne.jp/blog_archives/tech/tool/cwrsync.html

Q$hts =~ s/##([^#]+)##/$FORM{$1}/g の意味を教えてください!

お世話になります。
perl素人なのですが必要に迫られてWEBで調べながら
ソースを解析していますが、次のコードで完全に止まってしまいました。

$hts =~ s/##([^#]+)##/$FORM{$1}/g

この場合、
#hts から ##([^#]+)## を探して $FORM{$1} に全て置き換えようとしていると思うのですが、以下2点が理解できず困っています。

1.##([^#]+)## の意味
$htsに##で囲まれた文字列が複数あるのでそれら全てを探すということでしょうか?

2.$FORM{$1} の意味
$1は1.で検索した結果だと思いますが、$FORM{ }は一体なんでしょうか?

素人がいきなり解析するのは無謀なのは承知の上ですが、
どうしても業務で必要なので、お知恵をお貸し下さい。
よろしくお願いいたします。

Aベストアンサー

1.
perlを基準に「正規表現」で調べてごらん

2.
同じくperlでHTMLのformデータを受け取る方法を調べてごらん

QRAID1をバックアップ代わりに使用する

RAID1をバックアップ代わりに使用する

RAID1の場合、マザーボードが故障した場合、HDDを外して、別のパソコンに繋いだ場合、
フォルダー単位でデータファイル(Excelやjpg等)は見ることが出来るのでしょうか?

RAID1のの概要は存じていますが、ネットで調べると、RAID1とバックアップは別物と書かれて
いるものばかりですが、HDD一台で使用しているパソコンで、ソフト的におかしくなっても、
大概は、別パソコンに外付けすると、中身が見れるので、RAID1もそうであるのならば、
基本的に、データ的には、バックアップしていると同じ事と理解してよいのでしょうか?
よろしくお願いします。

Aベストアンサー

>RAID1の場合、マザーボードが故障した場合、HDDを外して、別のパソコンに繋いだ
微妙な問題で、同じコントローラなら見えると思いますが・・・見えない場合もあると思います。


>データ的には、バックアップしていると同じ事と理解
RAID1の機能を正しく理解すると「バックアップ」との違いが明らかになると思います。

RAID1は、2台のHDDで1台のHDDに見せ掛けて1台分のHDD容量を犠牲にして信頼性を高めます。 同時に2台のHDDが故障しなければ、障害が発生した時点で警告が発生するのでデータが失われるという最悪の事態に進展することを防止できる可能性が高いですが、ユーザの間違えた操作によるデータの削除に対しては無力です。

バックアップはバックアップを取得した時点のデータを別なメディアに書き込んで保存し、データが失われるなどの障害時に保存していたデータから復旧するために行います。 障害が発生してから、バックアップによるリカバーが実施されるので、障害発生を防止・検出する仕組みは皆無です。


端的に言えば、RAIDを構成すると本来のHDDの信頼性を更に高める機能であってバックアップを排除するまでの機能は持っていないです。

>RAID1の場合、マザーボードが故障した場合、HDDを外して、別のパソコンに繋いだ
微妙な問題で、同じコントローラなら見えると思いますが・・・見えない場合もあると思います。


>データ的には、バックアップしていると同じ事と理解
RAID1の機能を正しく理解すると「バックアップ」との違いが明らかになると思います。

RAID1は、2台のHDDで1台のHDDに見せ掛けて1台分のHDD容量を犠牲にして信頼性を高めます。 同時に2台のHDDが故障しなければ、障害が発生した時点で警告が発生するのでデータが失われると...続きを読む

Q@{$protocol_name}

usr strict;
をつかって、

$protocol_name = "pppoe";

@{$protocol_name}

のような使い方をしたいと思っていますが、

Can't use string ("pppoe") as an ARRAY ref while "strict refs" in use at ./ctest.pl line 152, <RCFG2> line 7

のようにエラー表示がでてしまいます。
どうしたら回避できるでしょうか。

Aベストアンサー

@pppoe という配列を生成する段階でハッシュ等扱いやすい変数に格納しておくのが定石だと思います。

・ハッシュにハードリファレンスで格納する方法
$protocol{pppoe} = \@pppoe; # 代入
@{$protocol{$protocol_name}} # 参照
# @pppoeとしましたがもちろん無名配列でかまいません。

・分岐させる方法
if($protocol_name eq "pppoe"){
... = @pppoe;
}elsif ...

・シンボリックリファレンスだけ許可させる方法
no strict 'refs';

・%main::から引く方法
@{$main::{$protocol_name}}

QRAID1はバックアップではない?

RAID1(ミラーリング)はバックアップにならないのでしょうか。
ブログ等、どこかでそんな話を読んだような記憶があって…

私は、データを二重化するRaid1はバックアップになると思うのですが、
実際のところ、どうなのでしょうか。

私は今、大事なデータに関してはRaid1及び別HDDへの同期をとって
3重化しております。無意味でしょうか。

バックアップの仕方でアドバイス頂けたらと思います。

Aベストアンサー

バックアップという言葉の解釈によって違ってきます。

ご承知のように、RAID1は2つのドライブに同じデータを書き込みますから、どちらかが故障しても、もう一方のドライブでデータを復旧することができます。その意味ではバックアップはとれていると言えます。
しかし、RAIDカードが故障するなどの事態が発生すると、2台のドライブのデータが一気に失われますので、バックアップとしては不十分と言えます。

ご質問を拝見すると、さらに別のドライブへ同期バックアップをされているということなので、RAIDカード故障のリスクはヘッジされているということになります。3重化は無意味ではありません。

Q$in{'~'}を$~に変換

CGIを改造中です。
変数の処理なのですが、サブルーチン内で利用するときに「$in{'~'}」と言う形でしか表示してくれません。これを「$~」の形にしたいです。
数が少なければ「$~ = $in{'~'}」を個数書けばいいのでしょうけど、結構数があるので、何か簡単な方法で変換できないかと考えています。
良い方法があれば教えてください。

Aベストアンサー

ハッシュのままで何か不都合があるのかなと
疑問に思いつつ・・・
#実際ハッシュは
#「(変数の)値に別の値を対応させる」
#ために存在するわけだから

けど,まあ,やろうと思えばkeys関数でできますよ.

%in=(
'X' => 1,
'Y' => 2,
'Z' => 3,
);

for $key (keys %in){
${$key}=$in{"$key"};
print "key; $key ${$key}\n";
}

print "$X $Y $Z";

strictとwarningsのプラグマを外さないといけないので
副作用の方が大きいでしょうが.

Qバックアップ v.s. RAID

こんにちは。

先日、http://oshiete.goo.ne.jp/qa/8169080.html に対して「データの量が大きすぎるから、ネットワーク経由でバックアップするよりもRAIDを組んだほうが良いんじゃないの?」と回答した所、「RAIDはバックアップの代わりにはなりませんよ」と別な方からご指摘を頂きました。

そこで質問なのですが、変更の追跡以外の面で、どういった場合にRAIDはバックアップに機能面で劣るのでしょうか。

Aベストアンサー

ぱっと思いつくのが、災害対策でしょうか。
強固なRAIDでも火災にあえば駄目になりますが、バックアップを別な場所に保管してあればそこから復旧できます。

あと、個人的に経験があるのが、RAID5のHDDが雪崩式に次々壊れてシステムが駄目になった事。搭載していたHDDが全て同じロットだったのですが、どうやらロット不良が有ったらしく、その時はバックアップの重要性を実感しました。

まぁ、どちらもレアケースです。

Q変数 $abc と ${abc}

$abcを
${abc}と書くのはなぜですか
よろしくお願いします。

Aベストアンサー

正確なところは知らないのですが、
{}で囲むと変数名を明確にすることができます。
$abc = "123";
の時、$abc . "456"のつもりで
print "$abc456";
とすると、変数abc456の内容が出力されます。
一方、print "${abc}456";
とすると、上手く行きます。

QRAID1設定は、バックアップソフトで作成したバックアップイメージにまで影響する?

前提条件:
デスクトップコンピュータ買い替えを検討していますが、買い換えたコンピュータの内蔵ハードディスクをミラーリングしようと思います。

構築したい構成内容:
OS:WindowsXP SP3
内蔵ハードディスクは、以下の4つを使用します:
HD1(CドライブRAID1:OSインストール)
HD2(DドライブRAID1:データ保存)
HD3(CドライブRAID1ミラー)
HD4(DドライブRAID1ミラー)

http://oshiete1.goo.ne.jp/qa5514901.html
これに関して、上記のスレでk-ayakoさん(回答番号:No.4)にシステムのイメージをTrueImageなどで作成するという助言をいただきました。

k-ayakoさんの助言では、CドライブはRAID1でミラーリングする必要はないのではということでしたが、下記の質問は、CドライブもRAID1でミラーリングする前提でお聞きしています。

質問:
RAID1を使用してHD1(CドライブRAID1:OSインストール)のミラーをHD3(CドライブRAID1ミラー)に取るとして、HD1のバックアップイメージをTrueImageなどのバックアップソフトで作成した場合、そのバックアップイメージ(バックアップイメージのCドライブ)はRAID1が設定された状態のCドライブイメージとなるのでしょうか(RAID1設定は、バックアップソフトで作成したバックアップイメージにまで影響するのですか?)? つまり、そのバックアップイメージを別のHDに復元した場合、“RAID1が設定された状態の”Cドライブとして復元されるのですか?

また、そもそもHD1(CドライブRAID1:OSインストール)にRAID1を設定した状態で、バックアップソフトを用いてHD1(CドライブRAID1:OSインストール)のバックアップイメージを作成すること自体可能なのでしょうか(バックアップソフトを用いてRAID1設定されたHDのバックアップイメージを作成することは可能ですか?)?

参考サイト等も教えて下さい。

よろしくお願いします。

前提条件:
デスクトップコンピュータ買い替えを検討していますが、買い換えたコンピュータの内蔵ハードディスクをミラーリングしようと思います。

構築したい構成内容:
OS:WindowsXP SP3
内蔵ハードディスクは、以下の4つを使用します:
HD1(CドライブRAID1:OSインストール)
HD2(DドライブRAID1:データ保存)
HD3(CドライブRAID1ミラー)
HD4(DドライブRAID1ミラー)

http://oshiete1.goo.ne.jp/qa5514901.html
これに関して、上記のスレでk-ayakoさん(回答番号:No.4)にシステムのイメ...続きを読む

Aベストアンサー

kitty1000さんこんにちは!
>TrueImage及びShadowProtectのハードウェアRAIDに対するバックアップは、可能なのでしょうか?
私の使用しているRAID1はIntelが供給しているチップセットの依存しているソフトウエアRAIDなのでハードウェアRAIDについては、わかりません。
前回もお話した通り私の環境(これは前回書いていない:WinXPPro、P5K-E、Q9450、seagate500G台RAID1)では、両方ともバックアップ及びリストアは出来たと記憶しています。
>TrueImage及びShadowProtectを両方と使ってみて、感想はどうですか?
TrueImageはポピュラーなバックアップソフトですね。機能も充実しています。
デスクのクローン作成は80GBを300GBのHDへの引越し(OS含む)には良い機能だとおもいます。
ShadowProtectは売れてないのかマイナーなイメージがありますね。
基本的にHD単位のバックアップが中心ですが、スケジュールが小まめに設定できます。
一番の売りは、私はやったことがないですが、バックアップイメージを他のパソコンにリストアできることです、本当かな?私は、RAID対応ということで購入してしまった。
>ShadowProtectの事業用(電話サポートあり)は高額そうですね。
私は、ベクターからダウンロード版(サポートなし)の安いのを購入。

TrueImage及びShadowProtect両方とも500GB中300GB使用でバックアップに2~3時間、リストアに5~6時間かかったと記憶しています。ShadowProtectの方が少し高速です。また、バックアップイメージは圧縮がそれほど効かないため、1TGBの外付HDに3世代前後(3回の完全バックアップ)しか出来ませんから、実用的ではないと思います。
私は、新しいソフトをインストールする前とか、RAIDボリュームの1台のHDが故障したとき交換前にバックアップを取るとか、HD全体をバックアップはしていません。通常は、RAID1のミラーリンクである程度の問題には対応できると考えています。
先日、RAIDボリュームの1台のHDが故障したとき、2~3日1台でRAID1が解除のまま、パソコンを稼働していましたが、問題ありませんでした。故障したHDを交換後、RAID1の再構築も問題なく行なえました。故障したと思ったHDはHDケースに組み込みUSB接続でWin上からは、中を見れました(壊れてなかった?)。多分、そのHDはセクタ不良があるのではなのでしょうか?!一方のHDにセクタ不良があれば、RAID1のミラーリンクは解除され、故障と判断すると考えます。
長文で失礼しました。bobnash

kitty1000さんこんにちは!
>TrueImage及びShadowProtectのハードウェアRAIDに対するバックアップは、可能なのでしょうか?
私の使用しているRAID1はIntelが供給しているチップセットの依存しているソフトウエアRAIDなのでハードウェアRAIDについては、わかりません。
前回もお話した通り私の環境(これは前回書いていない:WinXPPro、P5K-E、Q9450、seagate500G台RAID1)では、両方ともバックアップ及びリストアは出来たと記憶しています。
>TrueImage及びShadowProtectを両方と使ってみて、感想はどうです...続きを読む

Q$wfurikae = 1 if ( &ccom::getShukujitsu( &com::tD( $wwy,$wwm,$wwd )) ne '' );がよく

$wfurikae = 1 if ( &ccom::getShukujitsu( &com::tD( $wwy,$wwm,$wwd )) ne '' );

というスクリプトがあったのですが、

$wfurikae = 1 の後に;もいれずifがきています。

違和感があります。

どのような意味になるのでしょうか。

宜しくお願い致します。

Aベストアンサー

そのまんまだと思いますよ。
if 以下の条件が真の時 $wfurikae = 1となります。
Perlはいろいろな書き方ができますので、こういう書き方もありです。
英語の文法の並びにする書き方です。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報