I'm just trying to confirm that I understand someone's code correctly.
If someone has code that says:
I'm assuming that it means if $foo is nothing or undef, then assign it some value via mysub(). If I'm wrong on this, please let me know.
Also, what's the difference between this:
and this:
I'm assuming they both do the same thing and create a new list of lists in memory. The first one is a reference to the list of lists while the other is the actual list(array) of lists itself. If I'm wrong here, please let me know. I'm probably only 40-70 hours into perl. I've coded in other languages before, but syntax is usually the big hurdle for me.
For the first part you are right. For the second not really... To understand those two lines of code easier, run this script:
It will result in this:
As you can see first line of code resulted in one more "level" of reference. This is because it created single element array that it's only element is reference to array containing references to lower level arrays. In simple words, first code is not what you would usually want to use
@bartus: but he's assigning it into a scalar:
So he'll end up with $somescalar being a reference to an anonymous array.
@mrwatkin:
You are right. The first construct will create a reference to an array. You can access the array elements through -> operator, like
Except the array is initialized straight there, instead of doing:
The advantage of working with references is that when you are passing them through a function, you are just passing an address to memory, instead of copying the whole thing over (passing by value).
BTW, in defining the @myarray you are using the anonymous array construct also: ['one','two'] will yield a reference to an array containing 'one' and 'two'.
Hello,
I have the following script :
BEGIN {
print "1 ***";
split("abc",T,"");
T="e";
T="z";
T="y";
for (i in T) printf("%i:%s ",i,T); print "";
for (i=1; i<=length(T); i++) printf(T); print ""
print "2 ***";
asort(T,U);
for (i in U) printf("%i:%s ",i,U); ... (3 Replies)
Hi there,
I have a very general question. I'm rather new to (bash) shell scripting and I don't understand how conditions work... I've read numerous tutorials but I don't get it. I really don't. Sometime what I do works, sometime it doesn't and that's frustating. So what's the actual difference... (0 Replies)
this is my program i am trying to compile
/* filedata -- display information about a file */
#include <stdlib.h>
#include <stdio.h>
#include <sys/stat.h>
#include <sys/types.h>
/*
* use octarray for determing
* if permission bits set
*/
static short octarray = {0400, 0200, 0100,... (2 Replies)
I have a text file called file1 which contains the text: "ls -l"
When I enter this command:
bash < file1 > file1
file1 gets erased. However if I enter this command:
bash < file1 > newfile
the output from "ls -l" is stored in newfile. My question is why doesn't file1's text ("ls -l") get... (3 Replies)
Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted!
1. The problem statement, all variables and given/known data:
1)find all lines in file ,myf that contain all the words cat dog and mouse in any order and start with the letter... (1 Reply)
I learn using RS in awk to extract portion of file in this forum which is wonderful solution to the problem. However, I don't understand how exactly it operates.
I don't quite understand the mechanism behind how searching for /DATA2/ can result in extracting the whole section under "DATA2"
... (3 Replies)
Hi all.
The startup script in /usr/local/bin.
After user login the script run an application.
Iwould in the same way run the another application.
How to make It similar?
Where I must to look?
Regards. (3 Replies)
if {"$my_ext_type" = MAIN]; then
cd $v_sc_dir
Filex.SH $v_so_dir\/$v_fr_file
Can somebody tell me what does this suggest. I am pretty new to unix and
I am getting confused.
What i understood from here is
If we have a file extension name as MAIN
which we have then we change the directory to... (1 Reply)