C:\WINDOWS\Desktop>perl -c -MO=Deparse,-p -e "$history{$_} ? splice(@history,$i--,1) : $history{$_}=1;" Can't modify splice in scalar assignment at -e line 1, near "1;" -e had compilation errors. (($history{$_} ? splice(@history, ($i--), 1) : $history{$_}) = 1);