/ / Pomocou join pridáme a, k poslednému prvku v poli v perl - perl

Pomocou spojenia, posledný prvok v poli v jazyku perl - perl

Mám dátumové pole. Snažím sa pridať čiarky k prvkom poľa. Používam join. K poslednému prvku potrebujem pridať čiarku. Tu je môj vstup - 2020 02 20 Môj výstup by mal byť - 2020,02,20,

Tu je môj kód

@date = join( ",",@date); or @date = join( map "$_,",@date );

Trochu nemôžem dostať čiarku na poslednom prvku. Bolo by naozaj skvelé, keby sa to dalo dosiahnuť iba pomocou join.

Vopred ďakujem.

odpovede:

10 pre odpoveď č. 1

skúste:

my $date = join(",", @date, "");

teda len povedz join že existuje ďalší prvok.

Pozn .: výstup z join je jediný skalárny reťazec, a teda nie iné pole $date vyššie.


5 pre odpoveď № 2

Ak chcete pre svoju prácu použiť správnu funkciu, mali by ste používať map zmeniť všetky prvky poľa a spojiť to všetko spolu s join

my $date = join("", map { "$_," } @date);

4 pre odpoveď č. 3

Snažím sa pridať čiarky k prvkom poľa.

$_ = "$_," for @date;

Ak sa však snažíte vytvoriť reťazec a nie upraviť pole, môžete použiť nasledovné:

my $date = join "", map "$_,", @date;

Vyššie uvedené je možné urýchliť pomocou tohto šikovného, ​​ale stále čitateľného prístupu:

my $date = join ",", @date, "";

3 pre odpoveď č. 4

Ak chcete upraviť všetky prvky poľa, mapa je vhodný nástroj:

use warnings;
use strict;

my @date = qw(2020 02 20);
@date = map "$_,", @date;

use Data::Dumper;
print Dumper(@date);

__END__

$VAR1 = [
"2020,",
"02,",
"20,"
];