One of the main benefits of grouping related data together is that it makes accessing that data easier. (The other main benefit is that it becomes harder to corrupt the data by accident.) So, in Re: How can one access all the details of a person using arrays & hash? I created a Student class to hold student data, and I added a method sub display to group together the print statements used to print out the data for a single student.
Not sure what you’re asking here, but perhaps you want to be able to print to files instead of to STDOUT? If so, just change the calls to print into calls to sprintf and return the string to be printed:
sub display
{
my ($self) = @_;
my $output = '';
if ($self)
{
$output = sprintf "Name: %s\n", $self->{NAME};
$output .= sprintf "Age: %d\n", $self->{AGE};
$output .= sprintf "Regd no: %s\n", $self->{REGD_NO};
$output .= sprintf "Phone num: %s\n", $self->{PHONE_NUM};
$output .= sprintf "Mark: %d\n", $self->{MARK};
$output .= sprintf "Pass year: %d\n", $self->{PASS_YEAR};
}
return $output;
}
Then print the result:
my $outfile = 'temp.txt';
open(my $fh, '>', $outfile) or die "Cannot open file '$outfile' for wr
+iting: $!";
print $fh find_student('x3')->display();
close($fh) or die "Cannot close file '$outfile': $!";
Hope that helps,
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.