オペレーター単項マイナス - Perl

の数

場合は単項マイナスへの応用番号や文字列を含む 番号、その後の操作は番号と逆の符号を除くの状況をゼロに ついに来ます。

ここでは一例です。 このコードが表示さ -3 (エラーではない 警告をしません):

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

print -'3';

-3を受信—この -3のライン '-3'.

ゼロ

お申込みの場合は、単項マイナスの数 0 あるいは行 '0'の結果に 0.

Bareword

お申込みの場合は、単項マイナスの識別子の文字列からなるマイナスの状況の中、この IDとなります。 この例では、変数 $var は線 '-asdf'. 誤りがないと 警告no.

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

my $var = - asdf;

print $var;

の識別子を始めなければならな操作は、アンダースコアや書である。 こちらのコードを使用する 桁第文字:

▶ Run
#!/usr/bin/perl

my $var = - 3asdf;

print $var;

このコードを生成するエラー:

Bareword found where operator expected at script.pl line 3, near "3asdf"
    (Missing operator before asdf?)
syntax error at script.pl line 3, near "3asdf"
Execution of script.pl aborted due to compilation errors.

文字列と数字で始まる文字 +-

この例のコード:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

print -'+44', "\n";
print -'-44', "\n";

このコードに依存してのバージョンのPerlです。 5.8,5.10,5.12表示す最初の行 -44、第二 +44. 以来、5.14の線 44 なプラスである。

このコード例では、一般的には3つの異なる方法によっては、Perlのバージョン:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

print -'+0', "\n";
print -'-0', "\n";

5.8,5.10,5.12表示 -0, +0バージョン5.14、5.16表示す二つのゼロのままにしてお 年5.18の画面 ま -0 および 0.

のラインから始まる文字 + または -

にてお申込みの場合は単項マイナスのラインで始まるプラス マイナスの状況の中、その結果を文字列で始まるようになった 次に例を示します。

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

print -"+asdf\n";
print -"-asdf\n";

プログラムを表示:

-asdf
+asdf

る文字列で始まらない +-

こうした状況のPerlのよう に変換するには文字列を数値.

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

print -'3.8asdf';

結果は上記コードでは警告を -3.8:

Argument "3.8asdf" isn't numeric in negation (-) at script.pl line 6.
-3.8

公式文書

このスニペットの出力 perldoc perlop の単項マイナス:

    Unary "-" performs arithmetic negation if the operand is numeric,
    including any string that looks like a number. If the operand is an
    identifier, a string consisting of a minus sign concatenated with the
    identifier is returned. Otherwise, if the string starts with a plus or
    minus, a string starting with the opposite sign is returned. One effect of
    these rules is that "-bareword" is equivalent to the string "-bareword".
    If, however, the string begins with a non-alphabetic character (excluding
    "+" or "-"), Perl will attempt to convert the string to a numeric, and the
    arithmetic negation is performed. If the string cannot be cleanly
    converted to a numeric, Perl will give the warning Argument "the string"
    isn't numeric in negation (-) at ....

その他の記事