G'day Gtforce,
The statement "I receive an array" is vague. What precisely does that mean? Is it passed as an argument to a subroutine? Is it returned from a subroutine? Is it populated in the middle of some code (e.g. '@result = ...', 'push @result, ...', etc.)?
I'd suggest you take a step back and look at how @result is generated. There could be a bug upstream which, when fixed, resolves this, and any other, downstream problems.
I can really only speculate; however, purely as an example of one possible scenario, a change to $/, which hadn't been suitably localised, could cause this sort of situation.
Test data:
$ cat pm_1199549_test_file.txt 2017-08-01 20MICRONS 37744 2016-08-01 20MICRONS 25966 2016-04-20 20MICRONS 30807 2016-04-01 20MICRONS 32780
Non-localised change (with respect to array population):
$ perl -e 'local $/; @x = <>; use Data::Dump; dd \@x' pm_1199549_test_ +file.txt [ "2017-08-01 20MICRONS 37744\n2016-08-01 20MICRONS 25966\n2016-04-20 +20MICRONS 30807\n2016-04-01 20MICRONS 32780\n", ]
Localised change (with respect to array population):
$ perl -e '{ local $/; } @x = <>; use Data::Dump; dd \@x' pm_1199549_t +est_file.txt [ "2017-08-01 20MICRONS 37744\n", "2016-08-01 20MICRONS 25966\n", "2016-04-20 20MICRONS 30807\n", "2016-04-01 20MICRONS 32780\n", ]
If you provide us with more information, we can probably offer better advice.
— Ken
In reply to Re: Unscalar'ize a fake array
by kcott
in thread Unscalar'ize a fake array
by Gtforce
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |