Perlスクリプトの理解を助ける - TechRepublic

Perlスクリプトの理解を助ける - TechRepublic

ソフトウェア

  • 投稿するには今すぐ登録するかサインインしてください
  • 最近のアクティビティ
  • よくある質問
  • ガイドライン

質問

  • クリエイター

    トピック

  • Perl スクリプトの理解を助ける

    perlsomewhat · 約5 年、11ヶ月前

    こんにちは、

    このPerlスクリプトが何をするのか理解するのに助けが必要です。かなり古いので、作った人はもう亡くなっているかもしれませんが、それでも必要なんです。

    皆さん助けてくれませんか?🙂

    検閲をしました。
    もし誰かがこのスクリプトを現在使われている別の言語に書き直してくれたら嬉しいです。

  • クリエイター

    トピック

すべての答え

  • 著者

    返信

    • 2019年11月15日午前9時47分#2421636

      最初のファイル:

      perlsomewhat · 約5 年、11ヶ月前

      Perlスクリプトの理解を助けるへの返信

      ## .bat ファイル:


      @echo off
      rem file_import.bat から呼び出されたスクリプト
      rem デフォルトのパラメータで呼び出されます
      rem %1 %2 %3 %4 %5 %6
      rem
      rem perl edl400ba.pl “%area%” %area% %ip% slf %name003% >> \temp\edl400ba.log

      rem Perl が ORACLE_HOME の下にインストールされている場合は、変数 PERL5LIB を空白にする必要があります。
      PERL5LIB= を設定します。
      PATH=C:\strawberry\perl\bin;%PATH% を設定します。

      perl edl400ba.pl “%area%” %2 %3 %4 %5 >> \temp\edl400ba.log

    • 2019年11月15日午前9時48分#2421635

      2番目のファイル .pl

      perlsomewhat · 約5 年、11ヶ月前

      Perlスクリプトの理解を助けるへの返信

      Net::FTP を使用します。

      $catalog=$ARGV[0] ; # 例 %area%
      $sqluser=$ARGV[1] ; # Oracle 接続文字列; user/user@user
      #$sqluser=”%area%” ;
      $ftp_adr=$ARGV[2] ; # FTP サーバー、IP アドレス
      $ftp_user=$ARGV[3];
      $ftp_pwd=$ARGV[4] ;
      $loggfile=”$catalog/proc/ftplog.$$” ;
      $programname=”EDL400BA” ;

      $local_dir=”%area%”;
      $read_catalog=$katalog . “/%area%”;

      chdir $カタログ 。 「/」。 $local_dir || die "$katalog . "/" . $local_dir に cwd できませんでした \n";

      $ftp = Net::FTP->new($ftp_adr, Debug => 0) or die “Can't start ftp\n”;
      $ftp->login($ftp_user,$ftp_pwd) or die “Login error: $ftp_user/$ftp_pwd”;

      $filecount=0;
      foreach $file ($ftp->ls) {
      if ($file =~ /^e.*/ ) {
      $ftp->get($file) or die “ファイル $file を取得できません\n”;
      $filecount++;
      $cmd = “perl $catalog/script/load_edl400ba.pl $catalog $sqluser $file”;
      if ( system($cmd) == 0 ) {
      $ftp->delete($file) or print “ファイルを削除できませんでした: $file\n”;
      }
      else {die “ファイルのロード エラー: $file – 終了しています。\n”};
      rename $catalog . “/” . $local_dir . “/” . $file, $read_catalog . “/” . $file;
      }
      }

      $ftp->quit || print “ftp を閉じるときにエラーが発生しました (無視されます)\n”;

      print “$filecount 個のファイルがサーバー $ftp_adr から取得されました\n”;

    • 2019年11月15日午前9時49分#2421634

      3Dファイル .load

      perlsomewhat · 約5 年、11ヶ月前

      Perlスクリプトの理解を助けるへの返信

      CATALOG=$1
      USER=$2
      FILE1=$3
      GRNS_IN=$CATALOG /%area%
      ORACLE_SID=egg;エクスポート $ORACLE_SID

      # f|r から不良ファイルが見つかった場合は、削除する必要があります。if
      test -r $CATALOG/bad/edl400ba.bad;
      then rm $CATALOG/bad/edl400ba.bad;
      fi;

      # 誤って何も読み込まれないように、行数を 64000 に設定
      cd $CATALOG

      sqlldr コントロール=ctl/edl400ba.ctl、ログ=log/edl400ba、不良=bad/edl400ba、データ=$GRNS_IN/$FILe1、ユーザーID=$USER、エラー=0、ロード=99999、廃棄=dsc/edl400ba、廃棄最大=99999、行数=64000

      # 不良ファイルが作成されている場合は、エラーメッセージが表示されます。if
      test -r $CATALOG/bad/edl400ba.bad;
      then exit 9;
      #else mv $GRNS_IN/$FILE1 $GRNS_OUT/$FILE1.read;
      fi;

    • 2019年11月15日午前9時50分#2421633

      1番目のファイル .bat

      perlsomewhat · 約5 年、11ヶ月前

      Perlスクリプトの理解を助けるへの返信

      @echo off
      rem file_import.bat から呼び出されたスクリプト
      rem デフォルトのパラメータで呼び出されます
      rem %1 %2 %3 %4 %5 %6
      rem
      rem perl edl400ba.pl “%area%” %area% %ip% slf %name003% >> \temp\edl400ba.log

      rem Perl が ORACLE_HOME の下にインストールされている場合は、変数 PERL5LIB を空白にする必要があります。
      PERL5LIB= を設定します。
      PATH=C:\strawberry\perl\bin;%PATH% を設定します。

      perl edl400ba.pl “%area%” %2 %3 %4 %5 >> \temp\edl400ba.log

  • 著者

    返信

3件の返信スレッドを表示

Tagged: