1

私はPerlを初めて使用し、Perlワンライナーといくつかの単純なPerlスクリプトをタスクに使用していました。

たくさんのワンライナーをコード形式で組み合わせて、ワンライナーを含む特定のファイルだけを実行できるかどうか知りたいですか?たとえば、1つずつ実行する3つのワンライナーがある場合、これらの3つのワンライナーをfile.plという名前の単一のファイルに入れて実行できますか?

oneliner....
oneliner....

code

oneliner....

私が興味を持っているものの必要なフォーマットは上に示されています。

4

3 に答える 3

5

ライナーが1つしかないシェルスクリプトが必要なようです。

 #!/bin/sh

 perl -le '...'
 perl -ane '...'
 perl -e '...'

Perlプログラムの途中でワンライナーを実行したい場合は、システムで実行できます。

#!/usr/bin/perl

system( q( perl -le '...' ) );

ただし、すでにPerlプログラムを使用している場合は、ワンライナーを非短縮コードに展開してプログラムに入れることができます。たとえば、複数のPerlワンライナーを1つのスクリプトに統合するにはどうすればよいですか?を参照してください。

于 2012-08-14T03:48:18.267 に答える
0

基本的に、はい。実際のコマンドを取得してファイルに入れます。したがって、前の回答の例を使用して、次を含むファイルを作成します。

print reverse <>

次に、perlを使用して実行します。Unixライクなマシンでは

perl file.pl

Windowsでも同様だと思います。googleで「WindowsでのPerlスクリプトの実行」などを検索します。

于 2012-08-14T01:07:34.083 に答える
-1

一般的に、それは機能せず、あまり意味がありません。通常、perl onelinerは、いくつかのコマンドとパラメーターを使用してperlを呼び出します。たとえば、これが典型的なワンライナーです:

perl -e 'print reverse <>' foo.txt

ただし、これをスクリプトに入れると、次のようになります。

Bareword found where operator expected at .\one.pl line 1, near "'print reverse <>' foo"
        (Missing operator before foo?)
syntax error at .\one.pl line 1, near "perl -e "
Execution of .\one.pl aborted due to compilation errors.

したがって、スクリプトの形式とワンライナーの形式には互換性がありません。ただし、通常、onelinerからコマンドとパラメーターを抽出することにより、onelinerをスクリプト形式に変換することができます。

于 2012-08-14T01:02:02.587 に答える