By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,417 Members | 1,825 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,417 IT Pros & Developers. It's quick & easy.

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

P: n/a
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`;
}
Jul 19 '05 #1
Share this Question
Share on Google+
5 Replies


P: n/a
rx****@hehe.com wrote:
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
Jul 19 '05 #2

P: n/a
"Jürgen Exner" <ju******@hotmail.com> wrote in message news:<Ev******************@nwrddc01.gnilink.net>.. .
rx****@hehe.com wrote:
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


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.
Jul 19 '05 #3

P: n/a
On 6/2/04 9:09 am, in article
8a**************************@posting.google.com, "rx****@hehe.com"
<rx****@hehe.com> wrote:
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

Jul 19 '05 #4

P: n/a
david scholefield wrote:
$filename=`cat filename`;
print "\$filename has $filename \n";


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
Jul 19 '05 #5

P: n/a
On 1/3/04 9:31 am, in article 4qD0c.8525$ko6.196434@attbi_s02, "Joe Smith"
<Jo*******@inwap.com> wrote:
david scholefield wrote:
$filename=`cat filename`;
print "\$filename has $filename \n";


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


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


Jul 19 '05 #6

This discussion thread is closed

Replies have been disabled for this discussion.