in reply to Re^6: How to write testable command line script?
in thread How to write testable command line script?

my @answer = undef;

General note: I'm not sure what you intend by the quoted statement, but you should realize that it initializes the (newly created) array with a single element, the undef value, which in Perl is a well-defined value! (The  @answer array thus created is also entirely and absolutely independent of any other array with the same name.)

c:\@Work\Perl\monks>perl -wMstrict -le "use Data::Dump qw(dd); ;; my @answer = undef; dd \@answer; " [undef]


Give a man a fish:  <%-{-{-{-<

Replies are listed 'Best First'.
Re^8: How to write testable command line script?
by thechartist (Monk) on Nov 21, 2018 at 04:02 UTC

    I am trying to clear an array via assignment in the test file that is already defined in the script file. It appears that command line usage differs from how the subroutine is called in the test environment.

    On the command line, once the subroutine prints the results and exits, the variables are cleared, so when I enter another expression manually, things work. With the test environment, those values do not get cleared, but remain in the @answer array, and appear to be causing the failure.

    There might be other problems causing the failure too, but the @answer array should have 3 or fewer values in it when running any tests.

    What I thought was going to be a rather simple problem turned out to be much more involved than I thought.