in reply to Re^3: Creating CSV file
in thread Creating CSV file

Or, much more consice:

#!/usr/bin/perl use strict; use warnings; use Text::CSV; my @ports = qw(portname portID port802); my @val1 = qw(ON ON OFF); my @val2 = qw(EX EX NEX); my $csv = Text::CSV->new ({sep_char => ';', eol => "\n", auto_diag => +1 }); for (@ports) { $csv->print (*STDOUT, [ $_, shift @val1, shift @val2 ]); }

Enjoy, Have FUN! H.Merijn

Replies are listed 'Best First'.
Re^5: Creating <span style=
by GrandFather (Saint) on Aug 01, 2010 at 12:15 UTC

    Concise was not the point. Adopting an appropriate data structure was. Note that the meat of my reply however boils down to:

    $csv->print (*STDOUT, $_) for @records;

    where your 'concise' equivalent was:

    for (@ports) { $csv->print (*STDOUT, [ $_, shift @val1, shift @val2 ]); }

    which after all is part of why an appropriate data structure is a 'good thing'™ ;-)

    True laziness is hard work

      Very much so. My point was more that using ->combine () plus print ..., "\n" embedded in error checking code is not as efficient and readable as a single call to the ->print () method using the correct attributes in the constructor.


      Enjoy, Have FUN! H.Merijn