У меня есть небольшая программа, которую я пытаюсь отформатировать. Результаты загружаются в массив - у меня просто возникают проблемы с формированием печати массива в определенном формате.Perl форматирование выходного массива.
#!/usr/bin/perl
use strict ;
use warnings ;
my @first_array ;
my @second_array ;
my @cartesian ;
while (<>) {
my $first_input = $_ ;
@first_array = split(' ', $first_input) ;
last ;
}
while (<>) {
my $second_input = $_ ;
@second_array = split(' ', $second_input) ;
last ;
}
while(my $first=shift(@first_array)) {
push(@cartesian, $first) ;
my $second = shift(@second_array) ;
push(@cartesian, $second) ;
}
print "This is the merged array: @cartesian\n" ;
Когда я вхожу это, я получаю это:
$ ./double_while2.pl
1 2 3
mon tue wed
This is the merged array 1 mon 2 tue 3 wed
, что я хочу, чтобы распечатать это:
"1", "mon",
"2", "tue" ,
"3", "wed",
или попеременно:
1 => "mon",
2 => "tue",
3 => "wed,
Совет: 'while (<>) {my $ first_input = $ _; ... последний ; } '- это странный способ выполнения' my $ first_input = <>; ... ' – ikegami
спасибо ikegami - вы мужчина – capser