2012-02-26 7 views
2

私はPerlにはかなり慣れていますが、それを使ったことはありません...しかし、今は使いたいです。ここでWindows 7でperlをインストールする

は私がやったことです: - :

dnacon

http://www.activestate.com/activeperl/downloads

私はユニバーサルバージョンがインストール私のプログラムが動作してテストするには5.12.4.1205

を、私は次の小さなプログラムを使用しました.plx

#i/Perl64/bin/perl -w 
#Example 1-1 Concatenating DNA 

$DNA1 = 'ATTTGGTAAAATGTATA' 
$DNA2 = 'TTTTGGGTTTGAAAT' 

print "Here are two DNA fragments: \n\n" 
print $DNA1, "\n\n" 
print $DNA2, "\n\n" 

$DNA3 = "$DNA1$$DNA2" 
print "$DNA3\n\n 

私はそれを実行しようとすると、エラーのあるコマンドプロンプトが表示されます。

enter image description here

あまりにも基本的な質問には申し訳ありません...

EDTIS:

When I just type dnacon.plx, it is seems that it is working, but with error !!! 

c:\myperllessions>dnacon.plx 

Scalar found where operator expected at C:\myperllessions\dnacon.plx line 5, nea 
r "$DNA2" 
     (Missing semicolon on previous line?) 
syntax error at C:\myperllessions\dnacon.plx line 5, near "$DNA2 " 
Execution of C:\myperllessions\dnacon.plx aborted due to compilation errors. 

行くために、私は良いアム???何が原因でエラーが発生する可能性があります...コンパイルエラー?

編集:

私が使用しています今、次の:これは正しいのですか?

#i/Perl64/bin -w 

編集:

私を次のように私のスクリプトを変更:

#i/Perl64/bin -w 
#Example 1-1 Concatenating DNA 
use strict; 
use warnings; 
$DNA1 = 'ATTTGGTAAAATGTATA'; 
$DNA2 = 'TTTTGGGTTTGAAAT'; 

print "Here are two DNA fragments: \n\n"; 
print $DNA1, "\n\n"; 
print $DNA2, "\n\n"; 

$DNA3 = "$DNA1$$DNA2"; 
print "$DNA3\n\n"; 

私は、次のエラーを得た:

C:\ myperllessions>

Global symbol "$DNA1" requires explicit package name at C:\myperllessions\dnacon 
.plx line 5. 
Global symbol "$DNA2" requires explicit package name at C:\myperllessions\dnacon 
.plx line 6. 
Global symbol "$DNA1" requires explicit package name at C:\myperllessions\dnacon 
.plx line 9. 
Global symbol "$DNA2" requires explicit package name at C:\myperllessions\dnacon 
.plx line 10. 
Global symbol "$DNA3" requires explicit package name at C:\myperllessions\dnacon 
.plx line 12. 
Global symbol "$DNA1" requires explicit package name at C:\myperllessions\dnacon 
.plx line 12. 
Global symbol "$DNA2" requires explicit package name at C:\myperllessions\dnacon 
.plx line 12. 
Global symbol "$DNA3" requires explicit package name at C:\myperllessions\dnacon 
.plx line 13. 
Execution of C:\myperllessions\dnacon.plx aborted due to compilation errors. 
をdnacon.plx

私の問題ですか?今プログラミング知識やインストールと関係するもの?????

+0

'perl'のフルパスを使用していますか? 'C:\ Perl64 \ bin \ perl'? – Ryan

+0

C:\ Perl64 \ binは、perl.exeが – jon

+0

にあるところです。単に 'perl'と打つのではなく、それを使うのですか? – Ryan

答えて

3

perlを認識させるには、C:\Perl64\binを環境変数PATHに追加する必要があります。 Control Panel > System > Advanced System Settings > Environment Variablesにアクセスしてください。最上部のボックスを編集し、末尾に;C:\Perl64\bin(セミコロンに注意してください)を追加します。すでに存在するものを壊さないように注意してください。

最新の編集で残した問題 - Global symbol requires explicit package name - はuse strict(非常に良いこと)を追加したため、変数を宣言していないためです。また、#i/Perl64/bin -wという行は何も行わず、削除される可能性があります。これを代わりに書く

use strict; 
use warnings; 

my $DNA1 = 'ATTTGGTAAAATGTATA'; 
my $DNA2 = 'TTTTGGGTTTGAAAT'; 

print "Here are two DNA fragments: \n\n"; 
print $DNA1, "\n\n"; 
print $DNA2, "\n\n"; 

my $DNA3 = "$DNA1$$DNA2"; 
print "$DNA3\n\n"; 
+0

nice ...私の最初のレッスンは、私が言語の好奇心を作り出すのを助けています...私は最後のコマンドで結果を得られませんでした - 私の$ DNA3 = "$ DNA1 $$ DNA2"; "$ DNA3 \ n \ n"を印刷します。 "厳密な参照"が のC:\ myperllessions \ dnacon1.plx行11で使用中にSCALAR refとして文字列( "TTTTGGTTTGAAAT")を使用できません。 – jon

+0

その行は、 'my $ DNA3 =" $ DNA1 \ $$ DNA2 ";または' my $ DNA3 = "$ DNA1 $"、 "$ DNA2" 'で更新する必要があります。エラーが発生するのは、パーサが有効な最長の文字列を有効に挿入しようとしているからです。これは効果的に(strictを使用して)無効になっているシンボリックリファレンス$ {$ DNA2}です。 – raina77ow

+0

しかし、それは単に両方の文字列を連結するつもりであるので、それはちょうどタイプミスであったと思います。そして、もう一度、 'my $ DNA3 =" $ DNA1 $ DNA2 ";または少し読みやすい' my $ DNA3 = $ DNA1 'と書くことができます。 $ DNA2; ' – raina77ow

1

環境変数がまだ設定されていない可能性があります。 私はもはやWindowsを使用していないので、ステップの指示で正確なステップを与えることはできませんが、システムプロパティのどこかに環境変数を編集する場所があることがわかります。 パス変数を編集し、 'C:\ Perl64 \ bin \'を追加します。

P.S.:これは、上記のパスにcdすれば、perlプログラムを実行できることを前提としています。そうでない場合は、インストールに何か問題があります。 Perlを再インストールしてみてください。

2

試しましたか?Strawberry perl?それはあなたのために環境変数を設定するのを担当します。

関連する問題