メメメモモ

プログラミング、筋トレ、ゲーム、etc

!!1する意味が分からない

1と!!1の違いが分からない。
!!'test' ならやりたいことは分かる。
!!1はやりたいことが分からない。

ひとまずDumpしてみた。

use strict;
use warnings;
use Devel::Peek;

# SV = IV(0xdf12788) at 0xdf12798
#   REFCNT = 1
#   FLAGS = (IOK,READONLY,pIOK)
#   IV = 1
Dump(1);

# SV = PVNV(0xdefde30) at 0x74cea0
#   REFCNT = 2147483644
#   FLAGS = (IOK,NOK,POK,READONLY,pIOK,pNOK,pPOK)
#   IV = 1
#   NV = 1
#   PV = 0xdefeb10 "1"\0
#   CUR = 1
#   LEN = 16
Dump(!!1);

分からない。

追記

強調なんですね。確かに「んん!?」となりましたが。