$VERSION = eval $VERSION;ã®æå³
$VERSION = eval $VERSION;? - ヒルズで働く@robarioの技ログã«ã¤ãã¦ã
Perlã§ã¯æ°å¤ã«_ï¼ã¢ã³ãã¼ã¹ã³ã¢ï¼ãå
¥ãããã¨ãåºæ¥ã¾ããããã¯åã«è¦æãã®ããã§ãã
åèï¼Perl::Critic::Policy::ValuesAndExpressions::RequireNumberSeparators - Write 141_234_397.0145 instead of 141234397.0145 . - metacpan.org
Numeric Versionså½¢å¼ã§Î±ãã¼ã¸ã§ã³ã表ãå ´åãã¢ã³ãã¼ã¹ã³ã¢ã使ã£ã¦
1.12_01
ã®ããã«æ¸ãã¾ãããããã¯æ°å¤ã³ã³ããã¹ãã§ã¯
1.1201
ã¨å
¨ãåãæå³ã«ãªããαãã¼ã¸ã§ã³ã®æ
å ±ãæ¬ è½ãã¦ãã¾ãã¾ãã
以ä¸ã®ä¾ã§ã¯Î±ãã¼ã¸ã§ã³ããã£ãã®ãã©ããåããã¾ãããã
our $VERSION = 1.12_01; print Dump($VERSION); # SV = NV(0x68b3a0) at 0x67ee50 # REFCNT = 1 # FLAGS = (NOK,pNOK) # NV = 1.1201
æååã«ãã¦ããã°å ã®å¤ãä¿æãã¦ãããã¨ãã§ãã¾ãã
our $VERSION = '1.12_01';
$VERSION = eval $VERSION;
print Dump($VERSION);
# SV = PVNV(0x664910) at 0x67ee50
# REFCNT = 1
# FLAGS = (NOK,pNOK)
# IV = 0
# NV = 1.1201
# PV = 0x675b00 "1.12_01"\0
# CUR = 7
# LEN = 8
ããããevalã§NVãæ ¼ç´ãã¦ããã®ã¯ãã¢ã³ãã¼ã¹ã³ã¢ãä»ãã¦ããï¼Î±ãã¼ã¸ã§ã³ãä»ãã¦ããï¼ã¨æ°å¤ã¸ã®èªåå¤æãè¡ãªãããªãã®ã§ãæ°å¤ã³ã³ããã¹ãã§æ¯è¼ã«å¤±æããããã§ãã
% perl -Mwarnings -e '$VERSION="1.12_01"; print 1.12 < $VERSION' Argument "1.12_01" isn't numeric in numeric lt (<) at -e line 1. % perl -Mwarnings -e '$VERSION="1.12_01"; $VERSION=eval $VERSION; print 1.12 < $VERSION' 1
ã¾ãversion.pm使ã£ã¨ãã¨ãã話ã§ã¯ããã¾ããã