Showing posts with label Links. Show all posts
Showing posts with label Links. Show all posts

Tuesday, March 8, 2011

Alternatives for Hyper Terminal in windows vista and Windows7

for getting hyper terminal in windows Vista and 7 use this link or you can use following options:

> windows remote shell (WinRS)
> use phone and modem options if you are using Hyperterminal for modem connections (AT Command).
> Can use Putty also. Download putty.exe

For getting more info on WinRS type "winrs /?" in your command prompt.

Thursday, September 16, 2010

setting mode permission from command line

type following command in command prompt.
chmod {mode} filename, file2, file3

In C language its used as:
int chmod(const char *File_path, mode_t mode_value);

How to decide mode octal value:
mode is of 4 octal digits e.g. 0754, equivalent to (userID)(user)(group)(Other)

0755: u: full, GO: read and execute

0777: all : full permission

0555: all : read and execute


 symbolic representation of file permissions:

Representation
Class
Description
u
User
Owner
g
Group
Members of file group
o
Others
Neither owner nor group
a
All
Everyone

Octal notation:

Octal
System
Description
0
---
No permission
1
--x
execute
2
-w-
write
3
-wx
Write and execute
4
r--
Read
5
r-x
Read and execute
6
rw-
Read and write
7
rwx
Read, write and execute

These octal values are decided based on binary position of R W X.
R W X
0  0  0
0  0  1 : execute
0  1  0 : Write
1  0  0 : Read

Ex: changing permission for files in whole directory recursively as read, write, execute
chmod -R -v 777 ./*

reference: chmod

Wednesday, April 7, 2010

including/Using/Require Perl Modules in Program

There are many ways to include modules/packages in your program.

Use Module;

Or
Use Module List;

Which is exactly equivalent to

    BEGIN { require Module; import module; }
                   or
    BEGIN { require Module; import Module List; }
                   or
    require "Module.pm";
    import Module;

All perl modules have extensions.pm, use assumes this so you don't have to spell it out explicitly as "Modules.pm" instead you can say use Module;

Following two statements:

require Module;
require "Module.pm";

differ from each other. In first case, any double colon ( my::module) will be translated to  system's directory separator e.g."/", while in second case you will have to give module name with path literally.


With "require" one can get into following problem:
require myModule;
$some = myModule::somefunc();  # Need to make myModule:: accessible

use myModule;               # Import Names from myModule
$some = somefunc();

require myModule;
$some=somefunc();  # Error: No main::somefunc(),    so be careful in this case. solution is as follow

Above problem can be solved as following:
require "myModule.pm";
import myModule;
$some=somefunc();

Command Line inclusion
For including module from command line use following command:
C:\>perl -MmyModule myprogram.pl

For more information on -M switch check perlrun in perldoc
For more information on this refer to this link.
or check in chapter 11. modules in Perl Programming.

Monday, March 29, 2010

Perl Functions & Keywords : a summary

Here are Perl's functions (including things that look like functions, like some keywords and named operators). Some functions may appear in more than one place just because they can be categorize in more than one place.

SCALARs or strings Functions:

chomp, chop, chr, crypt, hex, index, lc, lcfirst, length, oct, ord, pack, q//, qq//, reverse, rindex, sprintf, substr, tr///, uc, ucfirst, y///

Regular expressions and pattern matching Functions

m//, pos, quotemeta, s///, split, study, qr//, tr///

Numeric functions

abs, atan2, cos, exp, hex, int, log, oct, rand, sin, sqrt, srand

Functions for real @ARRAYs

pop, push, shift, splice, unshift

Functions for list data

grep, join, map, qw//, reverse, sort, unpack

Functions for real %HASHes

delete, each, exists, keys, values

Input and output functions
binmode, close, closedir, dbmclose, dbmopen, die, eof, fileno, flock, format, getc, print, printf, read, readdir, rewinddir, say, seek, seekdir, select, syscall, sysread, sysseek, syswrite, tell, telldir, truncate, warn, write

Functions for fixed length data or records

pack, read, syscall, sysread, syswrite, unpack, vec

Functions for filehandles, files, or directories

-X, chdir, chmod, chown, chroot, fcntl, glob, ioctl, link, lstat, mkdir, open, opendir, readlink, rename, rmdir, stat, symlink, sysopen, umask, unlink, utime, mkpath


Miscellaneous functions

defined, dump, eval, formline, local, my, our, reset, scalar, state, undef, wantarray

Functions for processes and process groups
alarm, exec, fork, getpgrp, getppid, getpriority, kill, pipe, qx//, setpgrp, setpriority, sleep, system, times, wait, waitpid

Low-level socket functions

accept, bind, connect, getpeername, getsockname, getsockopt, listen, recv, send, setsockopt, shutdown, socket, socketpair

System V interprocess communication functions

msgctl, msgget, msgrcv, msgsnd, semctl, semget, semop, shmctl, shmget, shmread, shmwrite

Fetching user and group info

endgrent, endhostent, endnetent, endpwent, getgrent, getgrgid, getgrnam, getlogin, getpwent, getpwnam, getpwuid, setgrent, setpwent

Fetching network info

endprotoent, endservent, gethostbyaddr, gethostbyname, gethostent, getnetbyaddr, getnetbyname, getnetent, getprotobyname, getprotobynumber, getprotoent, getservbyname, getservbyport, getservent, sethostent, setnetent, setprotoent, setservent

Time-related functions

gmtime, localtime, time, times

Keywords related to the control flow of your Perl program
caller, continue, die, do, dump, eval, exit, goto, last, next, redo, return, sub, wantarray

Keywords related to switch
break, continue, given, when, default

(These are only available if you enable the "switch" feature. See feature and "Switch statements" in perlsyn.)

Keywords related to scoping
caller, import, local, my, our, state, package, use
(state is only available if the "state" feature is enabled. See feature.)
 
Keywords related to perl modules
do, import, no, package, require, use

Keywords related to classes and object-orientation
bless, dbmclose, dbmopen, package, ref, tie, tied, untie, use

Functions new in perl5

abs, bless, break, chomp, chr, continue, default, exists, formline, given, glob, import, lc, lcfirst, lock, map, my, no, our, prototype, qr//, qw//, qx//, readline, readpipe, ref, sub*, sysopen, tie, tied, uc, ucfirst, untie, use, when

* - sub was a keyword in perl4, but in perl5 it is an operator, which can be used in expressions.

Functions obsoleted in perl5

dbmclose, dbmopen

For more information on Perl Function Check this link

Friday, March 19, 2010

Plain Old Documentation( POD) in perl

If you know how to write the perl codes then you should also know "How to document your script for better user interface". When you run script then if any of the wrong input should be told by script and user should be able to know how to use your script.

So the solution is use of POD::Usage module from perl. If you want to know more on basics of POD refer to this link. This link has good explanation on pod2usage.


pod2usage will print a usage message for the invoking script (using its embedded pod documentation) and then exit the script with the desired exit status. The usage message printed may have any one of three levels of "verboseness": 

Verbose = 0; Only SYNOPSIS
Verbose = 1; SYNOPSIS along with OPTIONS(command line arguments)
Verbose = 2; Full manual Page

Default Exit status: 2, verbose: 0
If exit status < 2, default Verbose = 1, else default verbose = 0
If verbose = 0, default exit status = 2, else default exit =1

If exit status < 2, output printed on STDOUT, otherwise on STDERR.

Usage:
use POD::Usage;

my $message_text = "This text precedes the usage message.";
my $exit_status = 2;
my $verbose_level = 0;
my $filehandle = \*STDERR;

pod2usage($message_text); # Will print a message immediately before printing usage message

pod2usage($exit_status); # Prints usage message depending upon exit status

pod2usage( { -message => $message_text ,
                    -exitval => $exit_status ,
                    -verbose => $verbose_level,
                    -output => $filehandle } );

Hash Keys for pod2usage(Arguments): Refer to this page for more help

-message : To print message before usage


-exitval : value to be passed to exit().


-verbose : Describes Level of usage message to be printed


-output : File handle where to print usage e.g. STDOUT, STDERR or any file


-input : A reference to a filehandle from which the invoking script's pod documentation should be read. Default is $0 i.e. current file.

-sections : Can print sections described in this section list as string e.g. "NAME|SYNOPSIS|OPTIONS", but only when verbose is 99.


-pathlist :A list of directory paths. If input file not in current directory then used.

-noperldoc : It will call perldoc if verbose >2.


A good example for using pod2usage(), for more refer to this link 

=================================================================

use Getopt::Long; 
use Pod::Usage;

my $args = @ARGV; # After GetOptions @ARGV will be undefined
GetOptions(
       'opt=s'    => \$option,
       'help'     => \$help,
       'man'      => \$man,
     ) or pod2usage( -message => "Try \"perl $0 -help\" for more information", exitval => 2);



pod2usage( -verbose => 1 ) if( $help || !$args);

pod2usage(-verbose => 2) if($man);
;1
__END__
 
=head1 NAME
 
   sample - Using GetOpt::Long and Pod::Usage
 
=head1 SYNOPSIS
 
   sample [options] [file ...]
 
   Options:
   -help brief help message
   -man  full documentation
   -opt  Option value
 
=head1 OPTIONS
 
=over 8
 
=item B<-help>
 
   Print a brief help message and exits.
 
=item B<-man>
 
   Prints the manual page and exits.

=item B<-opt>
 
   Takes some integer value
 
=back
 
=head1 DESCRIPTION
 
   B<This program> will read the given input in opt and do something
   useful with the contents thereof.
 
=cut

#=================================================================
Some important Links:
POD TUTORIAL
POD USAGE IN PERLDOC
PERLPOD IN PERLDOC




Wednesday, February 24, 2010

Commands for Command prompt

Type following commands on command window to perform the required task.
By typing "help" on command prompt you can get commands for most common tasks e.g. cd, dir, del, exit, copy etc.
Here I will write down some uncommon commands which will be helpful when working on windows XP using command prompt.

  • hostname: Gives hostname of the machine you are using
  • attrib : Shows or updates Attributes of a file, -h removes hidden attrib from file, while +h adds hidden attrib
  • cacls : Changes the ACLS (security settings) for files and folders, similar to chmod in linux
  • control : Unpublished, use "control userpasswords2"findstr: To find strings, similar to grep in linux
  • gpresult : gets the summary of group policy settings and user settings
  • ipconfig : Shows IP Configuration for your system, use "ipconfig -all " for all settings, "ipconfig /release" for releasing Ip Addresses, "ipconfig /renew" for renewing IP address
  • openfiles : Enables administrator to display a list of open files and folders that have been opened 
  •  reg : A console registry tool to edit registry settings
  • systeminfo : displays system information
  • tasklist: list of all running tasks
  • taskkill: to kill running task
  • taskmgr: To open Task manager from command window
  • tree : Really amazing utility, gives the list of files and folders in tree form , should try at least once.
  • shutdown: Will show help for shutting down the windows XP. This will be helpful when you want to shutdown or restart remote computer.
             shutdown -s : shutdown this computer
             shutdown -r : Restart this computer
             shutdown -m \\computername : Remote computer to shutdown/restart/logoff
             shutdown -i : GUI interface for shutdown

Check this lonk for more detailed info and all other available commands:
Microsoft windows command line tools

Monday, February 8, 2010

Environmental Variables

Environment variables are a set of dynamic named values that can affect the way running processes will behave on a computer. these have been used for long in operating systems and are present in Unix, DOS and Windows environment.

Microsoft's definitions:

Environment variables are strings that contain information such as drive, path, or file name. They control the behavior of various programs. For example, the TEMP environment variable specifies the location in which programs place temporary files.

 Examples of environment variables include:
  • PATH - lists directories the shell searches, for the commands the user may type without having to provide the full path.
  • HOME (Unix-like) and userprofile (Microsoft Windows) - indicate where a user's home directory is located in the file system.
Shell scripts and batch files use environment variables to communicate data and preferences to child processes. They can also be used to store temporary values for reference later in the script, although in Unix other variables are usually used for this.

Examples of DOS Env Variables:
%ERRORLEVEL% : This variable points to the current error level. If there was an error in the previous command, this is what you need to check against to find out about that.
%PATH% : This variable contains a semicolon-delimited list of directories in which the command interpreter will search for executable files. Equivalent to the Unix $PATH variable (although note that PATH on Windows additionally performs the same task as LD_LIBRARY_PATH on Unix-like systems). Note that %PATH% can also be set like this PATH=c:\dos; where SET isn't required.
%TEMP% and %TMP% : These variables contain the path to the directory where temporary files should be stored.
Examples of UNIX ENV Variables:
$PATH : Contains a colon-separated list of directories that the shell searches for commands that do not contain a slash in their name (commands with slashes are interpreted as file names to execute, and the shell attempts to execute the files directly).
$HOME : Contains the location of the user's home directory. Although the current user's home directory can also be found out through the C functions getpwuid and getuid, $HOME is often used for convenience in various shell scripts (and other contexts). Using the environment variable also gives the user the possibility to point to an other directory.
$PWD : This variable points to the current directory. Equivalent to the output of the command pwd when called without arguments.
$TZ : Refers to Time zone. It can be in several formats, either specifying the timezone itself or referencing a file (in /usr/share/zoneinfo).
Example from Microsoft Windows: Case Insensitive
%CD% : This variable points to the current directory. Equivalent to the output of the command cd when called without arguments.
%DATE% : This variable expands to the current date. The date is displayed according to the current user's date format preferences. For more info on how to set date variable refer %DATE%
 
%RANDOM% : This variable returns a random number between 0 and 32767
%TIME% : This variable points to the current time. The time is displayed according to the current user's time format preferences.
 
Reference: 
Default values of Environment Variable on Microsoft windows
Further Related Study:
List of UNIX Utilities
 

Wednesday, February 3, 2010

Using Remote desktop from command line

Remote desktop allows you to configure and connect to another computer running Windows XP Pro.
Host machine must also have the Remote Desktop Connection client software installed. The  remote computer which is known as the client and Host both should be part of a corporate network in which Remote Desktop connections are permitted.

The Windows XP remote desktop connection dialog box provides you with everything that you need to configure and connect to another computer running Windows XP Pro. You can use the Save As button on the Connection Settings panel to save all your connection settings as an RDP file. Then, you can launch and connect to a remote computer simply by double-clicking the RDP file.


You can also script a remote desktop connection, as Windows XP's remote desktop connection has an executable file that can accept command line parameters and be run from a batch file. The remote desktop connection executable file is MSTSC.EXE, and the following are some of the most common parameters:

/v:<computername>--specifies the name of the computer to connect to.

/f--starts the connection in a full screen.

/w:<width>--specifies the width of the remote desktop screen.

/h:<height>--specifies the height of the remote desktop screen.

For example, to remotely connect to a computer named System in a 640 x 480 remote desktop screen, you would use the following command:

mstsc /v: System /w:640 /h:480

You can type this command line in the Run dialog box, as well as use it in a batch file.

Ref:
WindowsXP: Using mobility
Remote desktop FAQ

Thursday, January 21, 2010

What's the Difference between C sharp ( C# ) and C++?( Diffrence between C++ and C sharp)


Definition of C# by Microsoft:

C# is a simple, modern, object oriented, and type-safe programming language derived from C and C++. C# (pronounced C sharp) is firmly planted in the C and C++ family tree of languages, and will immediately be familiar to C and C++ programmers. C# aims to combine the high productivity of Visual Basic and the raw power of C++.

C++ is a general-purpose programming language with high-level and low-level capabilities. It is a statically typed, free-form, multi-paradigm, usually compiled language supporting procedural programming, data abstraction, object-oriented programming, and generic programming.

C# was developed by Microsoft, and programs written on C sharp uses .Net framework to run. While compiled C++ code can run as a standalone executable as byte-code.
 
C# is a C++ that includes some Visual Basic and Java features. It simplifies the creation of GUI (Graphical User Interface) programs and windows-based menus (items that require more effort and expertise to create with the standard C++ programming).

C++ is the standard version of the language. It is platform independent (C++ programs will execute on Windows, Unix, Linux, and any other operating system) while C# programs are designed to execute only on Microsoft Windows operating system, as Visual Basic is a Windows-only product.

If you want to do programming on linux or Unix systems then C++ is a better choice while if you want to do the programming on entirely windows based systems then C# is the better choice as it takes advantage of the existing Windows APIs (Application Program Interface) so that you don't need to create Windows libraries from scratch.

C# can create console applications, Windows applications, and ASP.NET websites.

Reference: C-Sharp Corner: Difference between C#(C Sharp) and C++

Monday, January 18, 2010

Tracking lost mobile

If u lose your mobile,

Got an interesting fact to share.. Nowadays each one of us carry Wi Fi
Mobile devices and always fear that it may be stolen.

Each mobile carries a unique IMEI i.e International Mobile Identity
No which can be used to track your mobile anywhere in the world.

This is how it works!!!!!!

1. Dial *#06# from your mobile.

2. Your mobile shows a unique 15 digit ( IMEI NO.)

3. Note down this no anywhere but except your mobile as this is the no which will help trace your mobile in case of a theft.

4. Once stolen you just have to mail this 15 digit IMEI no. to cop@vsnl.net

5. No need to go to police.

6. Your Mobile will be traced within next 24 hrs via a complex system of GPRS and internet.

7. You will find where your hand set is being operated even in case your no is being changed.

If u lost your mobile, send an e-mail to
cop@vsnl.net with the following info.
Your name:
Address:
Phone model:
Make:
Last used No.:
E-mail for communication:
Missed date:

IMEI No.:

Tuesday, December 29, 2009

Downloading windows 7 for free

Download windows 7 for free from this link,
but make sure that it's available for 90 days trial period only.
Following Link contains download link for Windows 7, this link is redirecting to India study channel

Check this link: Windows 7 free trial version for download

Thursday, December 17, 2009

Check this link for creation of Gadget

Hi,
Please check this link for learning to develop your own gadget:
http://code.google.com/apis/gadgets/
Gadgets are some simple JAVA script applications which can be embedded on webpages.
Above link contains many other links to other pages which contain information on gadgets.

Wednesday, December 2, 2009

Information on Perl

If you want some more information on Perl there is one place where you can find much more on Perl, you can even join communities there on PERL. Indiastudy channel is a site which has got a lot of resources on Perl.
Check following link: http://www.indiastudychannel.com/sites/156782/ViewCommunityMembers.aspx

Friday, November 27, 2009

Automating Internet explorer applicatios with Win32::OLE to open any website

Introdution
Perl has a very good module, for automation in Win32 system, called as Win32::OLE. Everyone uses internet now. There are many place where you may need to fill the forms, which is very tedious job, and it requires a lot of effort and time if form has many data entry points. So you will definitely think of getting this work automated somehow, so that you don't have to fill the complete form. Also there are a lot of e-books available on net for online reading, but there main problem comes how to read e-book if you don't have internet access at any point. I wanted to get all .html pages of any online book saved to my system without doing it manually.
The best solution is to get that book downloaded for you either in html format or .chm or .pdf. All this can be done using Win32::OLE module which will automate the apllication as per your requirement.

Usage:
The first thing is how to start Iexplorer.exe, without clicking on ICON of IE. You can start IE in that way but you won't be able to do anything you want.
So to open IE :
my $IE = WIn32::OLE->new("InternetExplorer.Application") || die "Couldn't open IE\n" ;
It's good but problem was that I was not able to see IExp.So I again read the document and found that there is a property which should be set:
$IE->{visible} = 1;
This time IE will get opened but with blank screen, so to open any web page use following:
$IE->navigate("www.google.co.in");
FOr more information on how I get to know about navigate(), I installed a program call OLEview.exe.( It's available as part of resource tool kit on microsoft website as freeware)  After downloading and installing this package: got to C:\Program Files\Windows Resource Kits\Tools and Run oleviw.exe and you will find InternetExplorer application wihitn "automation" and in that within methods, click on "navigate" so you will find following information:

[id(0x00000068), helpstring("Navigates to a URL or file.")].
void Navigate(
    [in] BSTR URL,
    [in, optional] VARIANT* Flags,
    [in, optional] VARIANT* TargetFrameName,
    [in, optional] VARIANT* PostData,
    [in, optional] VARIANT* Headers);
So now you will navigate to your first site.
In next posts I will tell you how to navigate to links present in that page.

Friday, August 7, 2009

Links for websites for different types of programming

Documentation of all types of book (really good one){contains: Internet, Perl and other scripting languages, Web designing and publishing, JAVA, Data Bases, Image processing, Networking, Unix related, Net ware, Microsoft Products, etc.. }

O'Reilly CD BOOKSHELF (Books for JAVA, Perl, UNIX,Networking, Web Developer,Oracle, XML,etc....)

Web Programming Desktop Referencing (A book from above documentation link link)

Quick Reference Guides
( Quick reference guides for Perl's regular exp, special variables, and VI editor)


Special Variables

To know more about special variables see Perl documentation:
C:\>perldoc perlvar

There are some pre-defined in Perl which have special meaning to Perl. They also have some analogous names to them, to use long variable name you need to say in script:
use English;

$_ :
[$ARG]

The default input and pattern-searching space. In following places by default Perl will take $_ as argument. It's a global variable.

* print() and unlink functions.
* pattern matching operations s///, m//, tr/// when used without =~ operator
* default iterator variable in foreach(), if no variable supplied.

@ARGV
It's a array which stores all the command line arguments, with which the Perl program was called.

$(digits):
contains sub pattern matched with corresponding set of capturing parenthesis in last successful pattern match. These all variables are read only and dynamically scoped within the scope of that block.
e.g. m/^(ram:)(\w+ \.)(\d+)/;

In above match $1 will contains"ram:" and $2 contains any alphanumeric character ending with"." and $3 contains and digit character after that.

IO::Handle->input_record_separator(EXPR)
$INPUT_RECORD_SEPARATOR
$RS
$/ : (Global)
It actually splits the input file into records depending upon the value set to it, by default it's newline, so file will be split into lines. This influence Perl's idea of what a "line" is. It should be declared as "local" within any block to make it effective in that block only, otherwise it will remain set till the end of Perl program.

local $/; # Read the whole file in at once
$/ = undef; # Read the whole file in at once
undef $/; # same as above

$/ = ""; # Read in paragraph by paragraph
$/ = "\n%\n"; # Read in Unix fortunes

open(my $fh, "<", $fortunes) or die $!;
while(<$fh>) {
chomp; # remove \n%\n
}
  • We always think that chomp remove newline, it's because $/ is set to newline by default, So changing it's value will also change the way chomp works
  • $/ also changes the way read line(<>) works.
{
local $/ = undef;
open my $fh, "abc.txt" or die $!;
$_ = <$fh>; #whole file is now in $_
}
It is a compile-time error to try and declare a special variable using my.

For more information on Perl's special variables one can refer to any of the following links:

Perl 5 by Example: Using Special variables
Perl Special Variables: chapter 8
Perl In a nutshell: chapter 4
Perl Predefined Names
Perl-Special variables

Monday, August 3, 2009

using strict

STRICT:-
It ensures that you pre-declare your variables, don;t have barewords and don;t use symbolic references. It also saves from making accidental spelling mistakes:
#without strict;
$num_friend = 2;
print " I have $num_friends \n"; #oops wrong spelling

if you have used strict then case will die with error
Global symbol "$num_friends" requires explicit package name.

A bareword is any combination of letters, numbers, and underscores, and is not qualified by any symbols. That is, while $apple is a scalar and @apple is an array, while apple is a bareword.

There are a couple of areas in Perl where a bareword is allowed. A bareword string does not need to be qualified with quotes, and a subroutine doesn't always need the &. However in most of the cases taking these shortcuts leads to less readable code.

use strict;
use warnings;

sub say_hi {
my $first = shift;
my $name = shift;

print $first, $name, "\n";
return;
}

&say_hi("hi", "gkg");


But you should be aware that there are more than one way of calling a subroutine. In this case since we have already defined the subroutine so we don't need to prefaec it with &, and it can also be called as
say_hi("hi", "GKG."); #valid but not a correct way.

here you can also call it as:
say_hi "hi" , "GKG" ; #valid, but not a good way of coding

say_hi ; #valid, just prints new line character, no params in, just a bareword

while above command can be written in more readable way as :
&say_hi();

but there are some commands where parentheses are invalid:
#Valid syntax
print OUTPUT_FH $message, $name,"\n";

#Invalid Syntax
print(OUTPUT_FILE $message, $name, "\n");
parentheses indicates a list for print and needs comma between each paarmeter

#Okay but weird
print OUTPUT_FILE ($message, $name, "\n");

>>Use qoutes for strings.
>>Always call your subroutines with & and (), even if there are no args.
but when you are using "qw" then there is no need to have qoutes for variables inside a list.

Symbolic references:

the variable $var indicates that $var is a reference variable,and it is expected that the value will be returned to the variable referenced by $var when reference was taken. But if $var is not a refernce variable at all? then Perl tries to check whether it contains any string, if yes then perl mess around with this string.

$x = 0;
$var = "x";
$$var = 30; # Modifies $x to 30 , because $var is a symbolic reference !

so to avoid this situation you can use

use strict 'refs'; # Tell Perl not to allow symbolic references
$var = "x";
$$var = 30;

Strict refs will remain activated tillthe end of block, but it can be deactivated by saying,
no strict; # or
no strict 'refs';

for more on symbolic references refer to chapter 8.4 "Programming Perl" 3rd edition, O'relly.
or perldoc perlref .

Wednesday, July 22, 2009

Links for websites containing Perl related Info

The Perl CD BOOKSHELF (Ver 3.0)(O'Reilly) : (Latest Books)(Most of the O'Reilly Books for Perl are available for online reading)

The Perl CD BOOKSHELF (Ver 1.0)(O'Reilly) (Most of the O'Reilly Books for Perl are available for online reading)

Perl Doc Site (Perl Documentation Web Site)


Perl 5 Wiki ( Perl foundation Site)


Perl Online Books:(Single Book)
Perl For System Administration(1st edition)(O'Reilly) (Available in ver 2.0 of CD Bookshelf)

Fundamentals Of Perl( A online book)(Many Examples are given)


Perl Interview questions (Some Important questions which can be asked in interview)

Perl Training: (Some very good notes for Perl are available here)


Linux topia Picking Up Perl (Some information is available on Perl)

Perl Tutorials:
Perl Tutorial(Steve Cook) (Not for beginners)


PERL5 TUTORIAL( a pdf) (published in 2003)

PERL TUTORIAL POINT

Perl Tutorial(outdated): http://www.tizag.com/perlT/index.php


Perl Blogs:
Practical Perl blog (It's just a blog, so one may find some kind of information)
A Perl Blog