Próbuję napisać test dla this bug. Znalazłem już rozwiązanie tego błędu; Nie mogę zrozumieć, dlaczego moje testy nie złapały błędu przed wydaniem.Dlaczego ładowanie Test :: More eliminuje mój błąd?
Problem sprowadza się do tego wiersza polecenia drukowania Ver: 0
kiedy to miało drukować Ver: 1.00
:
perl -Mversion -e 'printf "Ver: %s\n", ("v1.00" =~ /v(.+)/ ? version->parse($1) : "no");'
Jednakże, jeśli włożysz -MTest::More
przed -Mversion
, następnie drukuje Ver: 1.00
.
Moje pytanie brzmi: dlaczego ładowanie Test::More zmienia zachowanie mojego kodu? (W przypadku punktów bonusowych, dlaczego użycie "$1"
zamiast $1
eliminuje błąd?)
Używam Perl 5.14.2, Test :: Więcej 0,98 i wersja 0.88.
Ok, więc zajęło mi trochę czasu, aby ustalić, że. Niech cię diabli, Leon! ;) – ikegami
Leon był szybszy, ale ja lubię twoją odpowiedź lepiej (+ raport o błędzie), więc akceptuję twoją. – cjm