2013-06-17 24 views
5

Linux (CentOS) bir dosyadan temel bir Perl betiği çalıştırmaya çalışıyorum. Bir hata alıyorum. Bence sözdizimi ile ilgili bir şey var, ama bunu anlayamıyorum.Linux'taki bir dosyadan Perl komut dosyaları çalıştırılıyor

$ perl -e 'print "Hello World\n";' 

Bu, iyi çalışır ve sonraki satırda Hello World yazdırır. Ancak, vi içine koymak ve ne zaman, perlOne ile tamamen aynı kaydedin ('print 'Merhaba Dünya \ n';' perl -e) ve komutu çalıştırın:

$ perl perlOne 

hatayı alıyorum: " perlOne line 1 sözdizimi hatası, yakın "perl -e - perlOne Yürütme nedeniyle derleme hataları iptal edildi."

aynı hat, ama dosyada çalışmıyor

çalışıyorum. Linux Pro Dergi'den Perl öğreticisi aracılığıyla - ki bunu buradan aldım.

+1

Muhtemelen bir anahtarları (bu şekilde) kullanarak geçersiz kıl ve gerçek bir Perl betiğinde perl komutlarını çağırır ... :) – summea

+3

Zaten Perl ile dosyayı çalıştırdığınız için, sadece dosyadaki ifadeye ihtiyacınız vardır: "print" Hello World \ n "; – perreal

+0

Yep @perreal - bunu yaptı. Sanırım bazı komutları/sözdizimini ikiye katlıyordum. –

cevap

10

Komut satırı swi tt -e, programınızı bir dosyaya yazmak ve sonra yürütmek yerine komut satırından kod çalıştırmanızı sağlar.

$ perl -e 'print "Hello World\n";' 

Çıktı: Eğer dosyadan çalıştırmak istiyorsanız

Hello World 

Eğer farklı şekilde yazmak gerekir:

#!/usr/bin/perl 

use strict; 
use warnings; 

my $message = 'Hello World'; 
print $message . "\n"; 

# You can also make it directly 
print "Hello World\n"; 

Ben de yazılabilir önermiyoruz iken gibi:

print "Hello World\n"; 
+0

kullanarak dosyayı nasıl çalıştırılacağı. 'perl dosya ismini kullanarak denedim –

+0

@ ŞanKrish' .' kullanarak ne demek istiyorsun? Perl./Dosyaadı gibi? *** Sorununuzla ilgili yeni bir soru yaparsanız daha iyi olur. *** – Prix

İlgili konular