assigning contents to file name............

R

rxl124

Hi,

quick question,

how would you assign a contents to file in perl

i was thinking

$filename=`echo newvalue > filename`;

would work, but it does not, can someone please let me know what
i am missing?

thanks in advance

part of the codes--------------------------------------------

#!/usr/bin/perl -w

$filename=`cat filename`;
print "\$filename has $filename \n";

if ($filename eq 'today') {
$file_value=tomorrow;
$filename=`echo tomorrow > filename`;}
else {
$file_value=today;
$filename=`echo today > filename`;
}
 
J

Jürgen Exner

how would you assign a contents to file in perl

What on earth do you mean by "assign a contents to file"?
i was thinking
$filename=`echo newvalue > filename`;
would work, but it does not, can someone please let me know what
i am missing?
part of the codes--------------------------------------------

Your code doesn't even compile!
#!/usr/bin/perl -w

$filename=`cat filename`;
print "\$filename has $filename \n";

if ($filename eq 'today') {
$file_value=tomorrow;

Unquoted string "tomorrow" may clash with future reserved word at ...
$filename=`echo tomorrow > filename`;}
else {
$file_value=today;

Unquoted string "today" may clash with future reserved word at ...
$filename=`echo today > filename`;
}

Are you simply trying to write something to a file?

Then you may want to read
perldoc -f open (pay particular attention the mode indicator)
perldoc -f print
perldoc -f close

jue
 
R

rxl124

Jürgen Exner said:
What on earth do you mean by "assign a contents to file"?


Your code doesn't even compile!


Unquoted string "tomorrow" may clash with future reserved word at ...


Unquoted string "today" may clash with future reserved word at ...


Are you simply trying to write something to a file?

Then you may want to read
perldoc -f open (pay particular attention the mode indicator)
perldoc -f print
perldoc -f close

jue

I am trying to do (task A) on one day and (Task B) on next
day(alternating).
I thought about how to do it, and thought that only way to do it would
be
to write what whether I did A or B and put that value into file(let's
say file_name, and put A since I did A today) and next day I would do
what's opposite based on what's in that file(file_name, since A is in
this file, I would now do B ). and run this for 24x7.....

I didn't want to run the open/print/close commands. Was just wondering
if there was simple way to do it or just use ` ` to excute unix
command and assign to the file name.
 
D

david scholefield

Hi,

quick question,

how would you assign a contents to file in perl

i was thinking

$filename=`echo newvalue > filename`;

would work, but it does not, can someone please let me know what
i am missing?

thanks in advance

part of the codes--------------------------------------------

#!/usr/bin/perl -w

$filename=`cat filename`;
print "\$filename has $filename \n";

if ($filename eq 'today') {
$file_value=tomorrow;
$filename=`echo tomorrow > filename`;}
else {
$file_value=today;
$filename=`echo today > filename`;
}

evaluating the backticks operator in a scalar context
returns the success result of the command executed

you could use..

use strict;
my @ex_filename = `cat filename`' # 'filename' is fully qualified
my $contents = $ex_filename[0]; # we're assuming lots about 'cat' here!
($contents =~ /today/) ? `echo tomorrow > filename` : `echo today >
filename`;
exit;


not much checking going on though! would like to see some error
catching if the file isn't there etc. :)

david
emology.com
 
J

Joe Smith

david said:
evaluating the backticks operator in a scalar context
returns the success result of the command executed

No, it does not. It returns the entire contents of the output
from the command; all the lines concatinated into a single string.
The success result is in $?, as described in
perldoc perlvar


-Joe
 
D

david scholefield

No, it does not. It returns the entire contents of the output
from the command; all the lines concatinated into a single string.
The success result is in $?, as described in
perldoc perlvar


-Joe

Yup - you're quite right. *duh* Never do it personally, always
read into list :)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,767
Messages
2,569,572
Members
45,046
Latest member
Gavizuho

Latest Threads

Top