Type it where? Run it how? Where did the code come from and what do you expect it to do? What do you want it to do?
What operating system are you using? Are you using a Perl that came with the OS, or have you installed it yourself (how and where from?)? What editor are you comfortable with? Do you know how to run stuff from the command line?
Ok, so that's a lot of questions, but we really can't tell what you know or what you have so it's hard to give good advice and it's hard to know what you mean by your questions without some understanding of where you are coming from.
Perl is the programming world's equivalent of English
| [reply] |
(17, $var, "a string") is a list, i.e. a very ephemeral thing that will usually cease to exist as soon as you go to the next code line. You can either use it immediately, for example this way:
print "$_ \n" foreach (17, $var, "a string");
or you need to promote it to become a more persistent item, usually with a name to access to it, such as an array:
my @array = (17, $var, "a string");
# now you can access the element of the original list by using the arr
+ay, e.g.:
my $first_num = $array[0];
| [reply] [d/l] [select] |
... cease to exist as soon as you go to the next code line.
Indeed, it may cease to exist even before that, or rather, never come into existence in the first place. In the example below, the compiler doesn't even bother with the literal values. I suspect it only compiles $var because it isn't smart enough to be sure there is no side-effect associated with the reference: maybe it's a tie-ed variable? Other kinds of compilers may be much more aggressive about eliminating such "dead code."
c:\@Work\Perl\monks>perl -wMstrict -MO=Deparse,-p -le
"my $var = 42;
(17, $var, 'a string');
(137, 'd string');
"
Useless use of a constant (17) in void context at -e line 1.
Useless use of private variable in void context at -e line 1.
Useless use of a constant (a string) in void context at -e line 1.
Useless use of a constant (137) in void context at -e line 1.
Useless use of a constant (d string) in void context at -e line 1.
BEGIN { $^W = 1; }
BEGIN { $/ = "\n"; $\ = "\n"; }
use strict 'refs';
(my $var = 42);
('???', $var, '???');
('???', '???');
-e syntax OK
| [reply] [d/l] [select] |
Yeah, clearly, I agree, if you have only that in a code line:
(17, $var, 'a string');
it is completely useless, and the compiler tells it to you (at least if you use the strict and/or warnings pragmata). Such a list comes to existence only insofar it is somehow used for something. My point was the opposite view, to show how a list can sometimes be useful, but with a very limited scope (usually at most one code line). If you need larger scope, then give it a name and promote it to an array (or possibly another data structure). | [reply] [d/l] |
if i type and run this (17, $var, "a string"); where will this be stored
It won't be stored anywhere,
, how can i access them , i haven't specified the name of my variable .
you can't access "them" that aren't stored , so it might be a good idea to store "them"
perlintro shows you examples of storing like
my @stuff = ( 17, $var, "a string" );
| [reply] [d/l] |