2015-06-10 3 views
-1

Я пытаюсь запустить скрипт, который вы видите в этом ответе:Получение синтаксических ошибок в сценарии PERL

best way to add license section to iOS settings bundle

И я получаю ошибку синтаксиса в Xcode.

Missing right curly or square bracket at ./acknowledgements.pl line 57, at end of line 
syntax error at ./acknowledgements.pl line 57, at EOF 
Execution of ./acknowledgements.pl aborted due to compilation errors. 
Command /bin/sh failed with exit code 255 

Не знаете, почему это происходит.

Вот сценарий из моей машины:

#!/usr/bin/perl -w 

use strict; 

my $out = "../Settings.bundle/en.lproj/Acknowledgements.strings"; 
my $plistout = "../Settings.bundle/Acknowledgements.plist"; 

unlink $out; 

open(my $outfh, '>', $out) or die $!; 
open(my $plistfh, '>', $plistout) or die $!; 

print $plistfh <<'EOD'; 
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
<key>StringsTable</key> 
<string>Acknowledgements</string> 
<key>PreferenceSpecifiers</key> 
<array> 
EOD 

for my $i (sort glob("*.license")){ 

    my $value=`cat $i`; 
    $value =~ s/\r//g; 
    $value =~ s/\n/\r/g; 
    $value =~ s/[ \t]+\r/\r/g; 
    $value =~ s/\"/\'/g; 
    my $key=$i; 
    $key =~ s/\.license$//; 

    my $cnt = 1; 
    my $keynum = $key; 
    for my $str (split /\r\r/, $value){ 

     print $plistfh <<"EOD"; 
     <dict> 
     <key>Type</key> 
     <string>PSGroupSpecifier</string> 
     <key>FooterText</key> 
     <string>$keynum</string> 
     </dict> 
     EOD 

     print $outfh "\"$keynum\" = \"$str\";\n"; 
     $keynum = $key.(++$cnt); 
    } 
} 

print $plistfh <<'EOD'; 
</array> 
</dict> 
</plist> 
EOD 
close($outfh); 
close($plistfh); 
+1

Пожалуйста, разместите свой сценарий здесь (с вашей машины). Возможно, вы делаете опечатку. – shivams

+0

Я добавил скрипт – Jargen89

ответ

3

Я считаю, что Heredoc терминатор (EOD) не может предшествовать пробел. Удалите отступ и повторите попытку.

+0

Спасибо! Это очень помогло. – Jargen89

 Смежные вопросы

  • Нет связанных вопросов^_^