Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Reading and writing data to text file and to table

by learner@perl (Novice)
on Jul 03, 2013 at 05:11 UTC ( #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


Comment on Reading and writing data to text file and to table
Select or Download Code
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 (Abbot) 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
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? | Other CB clients
Other Users?
Others about the Monastery: (6)
As of 2014-07-25 02:19 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (167 votes), past polls