Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Reading and writing data to text file and to table

by learner@perl (Novice)
on Jul 03, 2013 at 05:11 UTC ( [id://1042148]=perlquestion: print w/replies, xml ) Need Help??

learner@perl has asked for the wisdom of the Perl Monks concerning the following question:

Hi Masters,

Good Morning, i am creating some records by adding some variables to it as mentioned below

$report{}[0]="DOB,Name,Empid,salary,Gross_salary,Department,Company"; $report{}[1]="Month,NET_Salary,";

I need to print these records to text file and also to a table

subroutine{ my @data; my $table; open( F, "$File" ) || die("Could not open $File"); while ( my $line = <F> ) { chomp($line); push( @data,( split /[,\n]/, $line));} close(F); $table .= "<table border=1>"; for my $i ( 0 .. $#data ) { $table .= "<tr>"; for ( @data[ $i * $#data .. ( $i * $#data ) ] ) { $table .= "<td>$_</td>\r\n"; } $table .= "</tr>"; } $table .= "</table>"; }

When i execute this code, i am getting output as:

MessageFile MessageFile MessageFile MessageFile MessageFile

How can i read those records and print them into to text file and also to a table, any help on this, thanks in advance

Replies are listed 'Best First'.
Re: Reading and writing data to text file and to table
by moritz (Cardinal) on Jul 03, 2013 at 05:35 UTC
Re: Reading and writing data to text file and to table
by NetWallah (Canon) on Jul 03, 2013 at 05:46 UTC
    The code posted seems to be an incorrect adaptation from this response to Perlseeker_1, and there seems to be some similarity in the question pattern.

    The output shown does not correspond to the input that you claim to have used.

    If you would like assistance, please post code and data we can use to reproduce your issue.

    What are you expecting the following line of code to do ?:

    for ( @data[ $i * $#data .. ( $i * $#data ) ] ) {
    and why would you want to code it that way ?

                 My goal ... to kill off the slow brain cells that are holding me back from synergizing my knowledge of vertically integrated mobile platforms in local cloud-based content management system datafication.

Re: Reading and writing data to text file and to table
by Utilitarian (Vicar) on Jul 03, 2013 at 05:48 UTC
    Why not represent your data in the way you wish to present it? create a 2-dimensional array using the line number of the file as your index when reading in the data.
    subroutine{ my @data; my $table; open( F, "$File" ) || die("Could not open $File"); while (<F>) { chomp(); push( @{@data[$.]},( split /,/, $line)); } close(F); $table .= "<table border=1>"; for my $i ( 0 .. $#data ) { $table .= "<tr>"; for ( @{@data[$i]}){ $table .= "<td>$_</td>\r\n"; } $table .= "</tr>"; } $table .= "</table>"; }
    print "Good ",qw(night morning afternoon evening)[(localtime)[2]/6]," fellow monks."
      Hi Masters,

      Please find the records which i formed below

      $input{$EMPNO}[0]="DOB,Name,Empid,salary,Gross_salary,Department,Compa +ny"; $input{$EMPNO}[1]="Month,NET_Salary,";

      The code which is used to put the records in table

      { my @data; my $table; foreach my $k (keys %input) { foreach (@{$input{$k}}) { chomp(); push( @{@data[$.]},( split /[,\n]/, $_)); } } $table .= "<table border=1>"; for my $i ( 0 .. $#data ) { $table .= "<tr>"; for ( @{@data[$i]}){ $table .= "<td>$_</td>\r\n"; } $table .= "</tr>"; } $table .= "</table>"; }

      The output i want in a tabular format, when i run the above code i have error,Can't use an undefined value as an ARRAY reference

        Hi Masters,

        Good Morning, i am creating some records by adding some variables to it as mentioned below

        $report{}[0]="DOB,Name,Empid,salary,Gross_salary,Department,Company"; $report{}[1]="Month,NET_Salary,";

        I need to print these records to text file and also to a table

        subroutine{ my @data; my $table; open( F, "$File" ) || die("Could not open $File"); while ( my $line = <F> ) { chomp($line); push( @data,( split /[,\n]/, $line));} close(F); $table .= "<table border=1>"; for my $i ( 0 .. $#data ) { $table .= "<tr>"; for ( @data[$i]){ $table .= "<td>$_</td>\r\n"; } $table .= "</tr>"; } $table .= "</table>"; }

        When i execute this code, i am getting output as:

        MessageFile MessageFile MessageFile MessageFile MessageFile

        How can i read those records and print them into to text file and also to a table, any help on this, thanks in advance

        I have changed the code from for ( @data$i){ for column, i am getting output in single coulmn

        DOB Name Empid salary Gross_salary Department Company Month NET_Salary

        Its not displaying the data in row and column

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://1042148]
Approved by moritz
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (5)
As of 2024-04-24 11:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found